1

我可以知道我需要添加什么权限,以允许 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

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

4

4 回答 4

3

需要权限的不是文件,而是运行 PHP 的进程。假设您在默认状态下使用 (Snow) Leopard,您需要授予 _www 用户对给定目录的写入权限,或者授予世界写入权限(一个不太有趣的想法)。这两者都可以通过 chown 和 chmod 的组合来完成。

于 2009-09-15T12:37:31.150 回答
2

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

您可能需要阅读有关chmod的信息。

于 2009-09-15T12:34:55.113 回答
1

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

于 2009-09-15T12:35:24.880 回答
1

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

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

于 2009-09-15T12:37:17.323 回答