[英]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.