我試圖在php中使用chmod函數臨時更改權限爲777,上傳文件然後將其更改回755.但它不起作用,因爲它不允許我通過php使用chmod函數。在不更改文件夾權限的情況下授予網絡服務器權限777
if(chmod($path, 0777)) {
if(!move_uploaded_file($oldfile, $newfileloc)) {
return false;
}
chmod($path, 0755);
return true;
}
else
return false;
我讓它在我以前的服務器上工作,給予文件夾755的權限。
我不確定權限是如何工作的,所以請幫助,謝謝!
編輯: 應該我的/ var/WWW文件夾中有什麼權限,這樣Web服務器可寫文件?
編輯2: 好吧,我有這個想通了。我只需要爲www-data:www-data授予權限,以確保webserver具有所有必需的權限。 但是,我得到的問題是,當我有/ var/www chown www-data:www-data,php函數工作正常,但我在使用FileZilla時獲取權限被拒絕錯誤。所以現在我必須將權限更改爲root:www-data每次我需要通過FileZilla傳輸某些內容,然後返回到www-data:www-data以確保我的網絡服務器正常工作。任何人都得到了解決這個問題?
感謝您的回答,但我想到了這一點。我得到的問題是,當我有/ var/www chown ** www-data:www-data **時,php函數工作正常,但是在使用FileZilla時我得到權限被拒絕錯誤。因此,現在我必須將權限更改爲** root:www-data **每次我需要通過FileZilla傳輸某些內容,然後返回到** www-data:www-data **以確保我的Web服務器正常工作。你有解決這個問題嗎? –
嘗試給予acl許可。 setfacl -m u:www-data:rwx/var/www。並保持實際的所有權根:www-data。 –