test.php无法将文件输出到Leopard文件系统中

时间:2009-09-15 12:32:46

标签: php macos apache2 osx-leopard

我可能知道需要添加哪些权限,以允许test.php能够将文件写入macos文件系统

PHP Error: <br />
<b>Warning</b>:  file_put_contents(20090915203127.jpg) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied in <b>/Library/WebServer/Documents/testphp/test.php</b> on line <b>8</b><br />
ERROR: Failed to write data to 20090915203127.jpg, check permissions

这是我在豹子上遇到的错误,我已经chmod ugo + x for test.php

4 个答案:

答案 0 :(得分:3)

这不是需要权限的文件,而是运行PHP的进程。假设你使用(Snow)Leopard处于默认状态,你需要给予_www用户对给定目录的写权限,给予全世界写访问权限(一个不那么美味的想法)。这两个都可以通过chown和chmod的组合来实现。

答案 1 :(得分:2)

您需要确保脚本正在运行的用户被允许写入尝试写入的文件(即20090915203127.jpg,而不是PHP脚本)。如果20090915203127.jpg不存在,则需要确保文件所在的目录是可写的(默认情况下,这将是当前的工作目录)。

您可能需要阅读chmod

答案 2 :(得分:1)

您需要使目标文件/目录可写入Web服务器。 test.php不是那个......

答案 3 :(得分:1)

据我所知,您需要root权限才能直接写入/ Library。是否绝对有必要写入此目录?

如果你只是将文件写入自己的帐户,在/ Users / accountname下它应该可以工作(虽然这取决于执行php脚本的用户)。