fopen:无法打开流:Mac上的PHP中的权限被拒绝[重复]
Posted
技术标签:
【中文标题】fopen:无法打开流:Mac上的PHP中的权限被拒绝[重复]【英文标题】:fopen: failed to open stream: Permission denied in PHP on Mac [duplicate] 【发布时间】:2017-01-22 17:02:30 【问题描述】:我写了这段代码:
if (file_exists("testfile.rtf")) echo "file exists.";
else echo "file doesn't exist.";
$fh = fopen("testfile.rtf", 'w') or die("impossible to open the file");
$text = <<< _END
Hi buddies,
I write for the first time
in a php file!
_END;
fwrite($fh, $text) or die("Impossible to write in the file");
fclose($fh);
echo ("writing in the file 'testfile.rtf' succeed.");
但是当我运行它时它说:
fopen(testfile.rtf):无法打开流:第 64 行 /Applications/XAMPP/xamppfiles/htdocs/test/test1.php 中的权限被拒绝 无法打开文件
我在我的 MAC 上使用 XAMPP 在本地服务器上工作。
我发现了几个主题,有些人有同样的问题,并使用名为“chmod 777”的东西解决了它,但我不知道这是什么意思,在哪里写,等等。
【问题讨论】:
你试过在你的主文件夹中运行它吗?另外:该文件是否真的存在?请相应地编辑您的问题。 【参考方案1】:您看到的错误只是表示您的 php 脚本没有权限打开 testfile.rtf 进行写入。
不要在任何时候遇到权限问题时都“chmod 777”,这可能会在以后引入安全问题!相反 - 给正确的用户正确的权限。
在这种情况下:
由于您正在运行 XAMPP,因此您需要确保您的 Web 服务器获得对您尝试在其中创建新文件和/或编辑现有文件的特定路径的写入权限。
对于 OSX 和 apache,我相信网络服务器的用户名为“_www”。
这是一个小例子(您可能需要根据需要进行更改):
sudo chown -R _www:_www /path/to/folder
上面的示例将赋予 _www(网络服务器)对 /path/to/folder 及其中所有文件的所有权。
另外:在进行任何基于命令行的管理之前,您可能需要阅读一些有关 unix 命令的信息,例如 chown、chmod等。
https://www.techonthenet.com/linux/commands/chown.php https://www.techonthenet.com/linux/commands/chmod.php
希望对你有所帮助!
【讨论】:
我写了 sudo chown -R _www:_www /Applications/XAMPP/xamppfiles/htdocs/test/testfile.rtf 但是终端说:没有这样的文件或目录 @JulienCorbin 在文件夹上试试(没有文件名)以上是关于fopen:无法打开流:Mac上的PHP中的权限被拒绝[重复]的主要内容,如果未能解决你的问题,请参考以下文章
PHP的datelog localhost在mac权限被拒绝
fopen(dbinfo.php):无法打开流:权限被拒绝 Ubuntu 12.04 LTS