PHP mkdir在本地机器上工作,但在远程机器上不工作


PHP mkdir working on local machine but not on remote machine

我想用PHP创建一个文件夹,并使用了我在互联网上得到的这段简单代码。

if (!file_exists ($_SESSION['foo']))
{
    mkdir ($_SESSION['foo'], 0775, true);
}

这在我的本地Windows服务器(Apache 2.4+PHP 5.5)上有效,但在远程Fedora服务器(Apache 2.2+PHP 5.2)上不起作用。有人知道它为什么不起作用吗?如果有帮助的话,我在远程服务器上没有root访问权限,但我可以使用mkdir命令通过命令行创建文件夹。

我也试过

if (!file_exists ($_SESSION['foo']))
{
    mkdir ($_SESSION['foo'], 0775;
}

这也无济于事。

我通过给当前目录777权限解决了这个问题。


然而,我觉得这可能是一个安全问题,很高兴知道是否有更好的解决方案