繁体   English   中英

fopen()权限尽管具有正确的文件目录也被拒绝

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM