如何授予 PHP 對目錄的寫入權限?
P粉512363233
2023-08-27 15:25:11
<p>我正在嘗試使用 PHP 建立文件,但它不起作用。我假設這是因為它沒有寫存取權限(以前一直是這個問題)。我嘗試透過讓資料夾 chmod 0777 來測試這是否是問題所在,但這最終導致該目錄中的每個腳本都傳回 500 錯誤訊息,直到我將其更改回來。
如何授予 PHP 對我的檔案系統的寫入存取權限,以便它可以建立檔案? </p>
<p>編輯:它託管在使用 Apache 的 Hostgator 共享託管上。 </p>
<p>編輯2:有人問代碼:
程式碼是GD圖像腳本。我知道它的其餘部分的工作原理就像以前我在每次調用它時創建圖像一樣。現在我嘗試在添加新文字時創建它們並將它們保存到資料夾中。我的寫入行是:
imagejpeg(null,$file,85);</p>
<p>我還創建了一個測試檔案來檢查它是否只是一個損壞的腳本(主要是從 tizag 複製的):
http://gearboxshow.info/rkr/lesig.jpg/testfile.txt(我不知道是否/如何正確地在此處發布程式碼。這是 PHP 腳本的內容,減去 PHP 標籤。)</p>
<p>它返回13,13,1(單獨的行),所以看起來好像它認為它寫了一些東西,但是testfile.txt是空白的(我上傳了一個空白的),或者不存在(如果我刪除它) )。 </p>
<p>編輯3:伺服器運行CentOS。 </p>
簡單的三步驟解決方案
第 1 步:確定 PHP 使用者
建立一個包含以下內容的 PHP 檔案:
將其上傳到您的網頁伺服器。輸出應類似以下內容:
因此,PHP 使用者是
www-data
。第 2 步:確定目錄擁有者
接下來,透過命令列檢查Web目錄的詳細資訊:
結果應類似以下內容:
因此,該目錄的擁有者是
exampleuser1
。第 3 步:將目錄擁有者變更為 PHP 使用者
然後,將Web目錄的擁有者變更為PHP使用者:
驗證 Web 目錄的擁有者是否已變更:
結果應類似以下內容:
至此,
example-folder
的擁有者已成功變更為 PHP 使用者:www-data
。完成! PHP 現在應該能夠寫入該目錄。
一個簡單的方法是讓 PHP 先建立目錄本身。
這可以為您省去權限方面的麻煩。