PHP脚本正在创建文件夹,但无法在其中创建文件夹

PHP脚本正在创建文件夹,但无法在其中创建文件夹,php,permissions,directory,php-safe-mode,Php,Permissions,Directory,Php Safe Mode,我已经在stack overflow和Google上搜索了好几个小时了,找不到答案。我发现了一些相关的东西,但没有任何效果 代码如下: $oldmask = umask(0); if(!is_dir("play")){ mkdir("play", 0777, true); chmod("play", 0777); } if(!is_dir("play/playTest")){ mkdir("play/playTest", 0777, true); chmod("

我已经在stack overflow和Google上搜索了好几个小时了,找不到答案。我发现了一些相关的东西,但没有任何效果

代码如下:

$oldmask = umask(0);

if(!is_dir("play")){
    mkdir("play", 0777, true);
    chmod("play", 0777);
}
if(!is_dir("play/playTest")){
    mkdir("play/playTest", 0777, true);
    chmod("play/playTest", 0777);
}

umask($oldmask);
目录play创建得很好,但是当它试图创建play/playTest目录时,我遇到了这个错误

安全模式限制生效。不允许uid/gid为178245/178245的脚本在/a/b/c/script.php中访问uid/gid 25000/25000拥有的/a/b/c/play

我知道这是由于安全模式而造成的文件所有者限制,但为什么在同一脚本中创建文件夹时用户会有所不同

我尝试过使用和不使用umask,使用和不使用chmod,以及许多其他东西,但都没有效果


非常感谢您提供的任何帮助。

此黑客解决方案依赖于安全模式漏洞:

如果使用FTP,则可以递归创建目录


既然您使用的是安全模式,那么您仍然在使用PHP。您的操作系统是什么?不幸的是,我没有能力关闭安全模式,但为什么我需要关闭?我想我想知道为什么php创建的文件夹只有一个所有者,而读取的却是另一个所有者?我使用的操作系统是OSX Mavericks,但考虑到我正在通过ftp将文件上传到一个站点,这有点无关紧要。这很可能有效我没有尝试过,但我更感兴趣的是试图找出它为什么要做它正在做的事,而不是找到一个解决方法。不过,谢谢你的解决方案,我可能不得不使用它。它归结为安全模式的一个特点。这张便条说明了更多,但无可否认,它没有说明原因。不过,我完全同意。如果你能帮助它,你不应该实施黑客。你应该关闭安全模式我终于让我的网站管理员禁用了安全模式,所以现在一切都好了。可惜没人能找到解决这个怪癖的办法…:/