[英]fopen() Permission Denied despite having correct file directory
$handle = fopen('/Applications/XAMPP/xamppfiles/htdocs/test/file.txt', 'w');
我嘗試執行上述操作,每次嘗試執行此操作時,瀏覽器都會顯示以下語句:
警告:fopen(/Applications/XAMPP/xamppfiles/htdocs/test/file.txt)[function.fopen]:無法打開流:在/Applications/XAMPP/xamppfiles/htdocs/test/index.php中的權限被拒絕(第26行) 。
我嘗試瀏覽具有相同類型問題的已回答問題,但我嘗試過的大多數方法均無效。 例如,編寫完整目錄...
也許您沒有權限訪問該文件。 困擾之一是,您必須將CHMOD
更改為例如777
。 您可以將其與ftp瀏覽器或PHP配合使用。
chmod("/somedir/somefile", 777);
默認情況下,安裝XAMPP時,htdocs文件夾沒有任何讀取權限。 您可以像這樣通過終端更改權限。
cd /Application/XAMPP/xamppfiles/htdocs/test/
sudo chmod 0664 file.txt
或者,您可以遞歸設置所有文件和文件夾的所有權限級別
cd /Application/XAMPP/xamppfiles/
sudo chmod -R 0664 htdocs/
您可以將chmod
改為777
,但這是有風險的安全性。 我猜您真正想要的是更改文件的所有權。 您可以使用chown
進行此操作。 PHP通常以用戶www-data
身份運行,因此您將運行類似以下的命令。
sudo chown www-data:root path/to/file.ext
如果您對文件具有文件權限,例如664
,那將為PHP授予6權限(讀取和寫入),而不是4權限(僅讀取)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.