0

我已经搜索了堆栈溢出和谷歌几个小时,但找不到答案。我找到了相关的东西,但没有任何效果。

这是代码:

$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”目录时出现此错误。

SAFE MODE Restriction in effect. The script whose uid/gid is 178245/178245 is not allowed to access /a/b/c/play owned by uid/gid 25000/25000 in /a/b/c/script.php

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

我尝试过使用和不使用 umask,使用和不使用 chmod,以及许多其他方法,但没有任何效果。

任何和所有的帮助将不胜感激,谢谢。

4

1 回答 1

0

这种骇人听闻的解决方法依赖于安全模式漏洞:

(如果你使用 FTP,你可以递归地创建目录)

http://php.net/manual/en/function.mkdir.php#104301

于 2014-09-17T21:09:08.940 回答