mkdir不能在PHP中工作

时间:2010-02-07 03:52:52

标签: php mkdir

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

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

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

3 个答案:

答案 0 :(得分:11)

可能是在命令行下运行时,脚本会继承您的权限,但是从浏览器运行时它不会吗?

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

答案 1 :(得分:3)

您的网络服务器(apache?)正在以其自己的用户身份运行,并且无权写入您正在运行mkdir的目录。

授予您的Web服务器用户写入目录的权限A)使其成为所有者,B)如果该组具有写入权限则将其添加到组,或C)授予Everyone写入权限(不建议用于大多数设置) 。

答案 2 :(得分:0)

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

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