mkdir 在 PHP 中不工作

问题描述 投票:0回答:4

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

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

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

php mkdir
4个回答
11
投票

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

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


3
投票

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

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


0
投票

你可以试试

umask
,当PHP被用作服务器模块时,umask在每个请求完成时恢复。

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

0
投票

要使

mkdir
代码在Linux中运行,您需要通过
a+rwx
向该文件添加权限
sudo chmod a+w [file/path]

sudo chmod a+rwx [file/path]
© www.soinside.com 2019 - 2024. All rights reserved.