fopen:无法打开流:Mac上的PHP权限被拒绝

时间:2016-09-14 19:17:52

标签: php macos

我写了这段代码:

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 个答案:

答案 0 :(得分:7)

您看到的错误只是意味着您的php脚本无权打开 testfile.rtf 进行编写。

&#34; chmod 777&#34;在您获得权限问题的任何时候,这可能会在以后引入安全问题!相反 - 为正确的用户提供正确的权限。

在这种情况下:

由于您正在运行XAMPP,因此您需要确保您的Web服务器获得您尝试在其中创建新文件和/或编辑现有文件的特定路径的写入权限。

对于OSX和apache,我相信网络服务器的用户名为&#34; _www&#34;。

这是一个小例子(您可能需要根据需要进行更改):

sudo chown -R _www:_www /path/to/folder

上面的示例将为 / path / to / folder 以及其中的所有文件提供_www(webserver)所有权。

另外:在执行任何基于命令行的管理之前,您可能需要阅读一些关于unix命令的信息,例如 chown chmod < / EM>等。

https://www.techonthenet.com/linux/commands/chown.php https://www.techonthenet.com/linux/commands/chmod.php

希望它有所帮助!