mkdir在PHP中不工作

whhtz7ly  于 2023-05-16  发布在  PHP
关注(0)|答案(4)|浏览(232)

在过去的2个小时里,我一直在拔我的头发,我确信我在做一些非常愚蠢的事情。

<?php
mkdir("blah", 0777);
?>

这通过命令行工作,文件夹被创建。但是当我试图通过浏览器运行它时,同样的事情也不起作用。有文件权限问题吗?

8mmmxcuj

8mmmxcuj1#

有没有可能在命令行下运行时,脚本继承了您的权限,但在浏览器中运行时却没有?
在这种情况下,您可能希望将组的目录权限设置为“写”。

jmp7cifd

jmp7cifd2#

您的Web服务器(Apache?)以自己的用户身份运行,并且没有写入运行mkdir的目录的权限。
通过以下方式给予Web服务器的用户写入目录的权限:A)使其成为所有者,B)如果组具有写入权限,则将其添加到组,或者C)授予Everyone写入权限(不建议用于大多数设置)。

x33g5p2x

x33g5p2x3#

你可以尝试使用umask,当PHP被用作服务器模块时,当每个请求完成时,umask被恢复。

$old = umask(0); 
mkdir($path,0777); 
umask($old);
zbq4xfa0

zbq4xfa04#

linux注意:要使(mkdir)代码在linux中运行,您需要通过sudo chmod a+w [file/path]或将premision a+rwx添加到此文件

sudo chmod a+rwx [file/path]

相关问题