P粉3767388752023-08-28 09:42:11
第 1 步:確定 PHP 使用者
建立一個包含以下內容的 PHP 檔案:
<?php echo `whoami`; ?>
將其上傳到您的網頁伺服器。輸出應類似以下內容:
www-data
因此,PHP 使用者是 www-data
。
第 2 步:確定目錄擁有者
接下來,透過命令列檢查Web目錄的詳細資訊:
ls -dl /var/www/example.com/public_html/example-folder
結果應類似以下內容:
drwxrwxr-x 2 exampleuser1 exampleuser2 4096 Mar 29 16:34 example-folder
因此,該目錄的擁有者是 exampleuser1
。
第 3 步:將目錄擁有者變更為 PHP 使用者
然後,將Web目錄的擁有者變更為PHP使用者:
sudo chown -R www-data /var/www/example.com/public_html/example-folder
驗證 Web 目錄的擁有者是否已變更:
ls -dl /var/www/example.com/public_html/example-folder
結果應類似以下內容:
drwxrwxr-x 2 www-data exampleuser2 4096 Mar 29 16:34 example-folder
至此,example-folder
的擁有者已成功變更為 PHP 使用者:www-data
。
完成! PHP 現在應該能夠寫入該目錄。
P粉3524080382023-08-28 09:07:16
一個簡單的方法是讓 PHP 先建立目錄本身。
<?php $dir = 'myDir'; // create new directory with 744 permissions if it does not exist yet // owner will be the user/group the PHP script is run under if ( !file_exists($dir) ) { mkdir ($dir, 0744); } file_put_contents ($dir.'/test.txt', 'Hello File');
這可以為您省去權限方面的麻煩。