【问题标题】:test.php cannot output file into Leopard filesystemtest.php 无法将文件输出到 Leopard 文件系统
【发布时间】:2023-03-23 13:55:02
【问题描述】:

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

【问题讨论】:

    标签: php macos apache2 osx-leopard


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      您可能需要了解chmod

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-11-06
            • 2016-11-21
            • 2010-10-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多