mkdir不在PHP中工作

mkdir不在PHP中工作,php,mkdir,Php,Mkdir,在过去的两个小时里,我一直在拔头发,我确信我在做一些非常愚蠢的事情 <?php mkdir("blah", 0777); ?> 这通过命令行工作,并创建文件夹。但当我试图通过浏览器运行它时,同样的事情不起作用。是否存在文件权限问题?是否可能是在命令行下运行时,脚本继承了您的权限,但在浏览器中运行时却没有 在这种情况下,您希望为组设置“写入”目录权限。您的web服务器(apache?)正在以自己的用户身份运行,并且没有写入您正在运行mkdir的目录的权限 通过以下方式授予web服

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

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


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

是否可能是在命令行下运行时,脚本继承了您的权限,但在浏览器中运行时却没有

在这种情况下,您希望为组设置“写入”目录权限。

您的web服务器(apache?)正在以自己的用户身份运行,并且没有写入您正在运行mkdir的目录的权限


通过以下方式授予web服务器的用户写入目录的权限:A)使其成为所有者;B)如果组具有写入权限,则将其添加到组中;或C)授予所有人写入权限(不建议在大多数设置中使用)

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

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

哈哈!1万美誉!胡萨!我被这件事困扰了很长一段时间,是别人干的。如果您在SELinux上,则有一个称为“安全上下文”的额外权限层,您可以使用
ls-alZ
查看该层。使用类似于
chcon system\u:object\r:httpd\u sys\u content\u t:s0 public\u HTML
的方法也遇到了同样的问题,解决了!起初,我用FTP创建了一个文件夹,但使用mkdir在其中创建文件夹时,它不起作用。删除文件夹并确保脚本创建了它,然后解决了它。