问题
我正在尝试通过 PHP 将文件上传到我自己的服务器。如果文件夹不存在,我首先尝试创建文件夹;
mkdir($folder, 0700);
我的脚本正在创建文件夹,但 apache 是文件夹(和文件)的所有者,所以我无法访问我上传的文件。
我的服务器关闭了安全模式。我仍然找不到解决这个问题的方法。
如果有人能帮我解决这个问题,我会很高兴。
注意: 我试过 0755,0777 没有任何改变。 Apache 是所创建文件夹的所有者。
最佳答案
我建议重新配置 Web 服务器以使用 suEXEC或 suPHP .这种方法的缺点是您被迫以 CGI 模式而不是 Apache 模式使用 PHP。不过,我还没有看到这成为中低流量网站的问题。主要好处是您的脚本将以拥有它们的人的身份运行,因此您的脚本创建的任何新目录或文件都将自动归该用户所有。
最终,如果您的问题只是创建新目录而不是文件,并且您没有存储任何不应被窥视的内容,然后 chmod($path, 0755);
将解决您的问题。
关于php mkdir() 和 apache 所有权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747798/