Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用户是;“没有人”;创建目录PHP时_Php_Apache - Fatal编程技术网

用户是;“没有人”;创建目录PHP时

用户是;“没有人”;创建目录PHP时,php,apache,Php,Apache,我有以下代码: mkdir($thumb_dir) 它在正确的位置创建了一个目录,但当我查看权限时,它是 Owner : nobody Group : nobody 我没有访问chown的shell权限。如何防止用户被分配为nobody,以及如何删除由于我没有权限而创建的文件夹 这是一个godaddy共享服务器…使用rmdir($thumb\u dir)删除它 无法更改共享服务器上的PHP用户。可以使用rmdir()删除空目录 没有人是运行apache进程的用户。您不能在php中更改所有者

我有以下代码:

 mkdir($thumb_dir)
它在正确的位置创建了一个目录,但当我查看权限时,它是

Owner : nobody
Group : nobody
我没有访问
chown
的shell权限。如何防止用户被分配为nobody,以及如何删除由于我没有权限而创建的文件夹

这是一个godaddy共享服务器…

使用
rmdir($thumb\u dir)
删除它


无法更改共享服务器上的PHP用户。

可以使用rmdir()删除空目录


没有人是运行apache进程的用户。您不能在php中更改所有者,也不能在没有root权限的情况下使用shell访问删除文件夹(或对其进行任何更改);您只能通过php操作它,这是因为Web服务器是由
nobody
用户运行的。因此,您在文件系统上所做的一切都将以
nobody
的权限完成

通常情况下,你无法改变这一点。您必须在Apache用户与FTP用户不同的情况下进行管理。如果使用PHP创建目录,则只能使用PHP将其删除(当目录为空时使用
rmdir()
),如果创建文件,则很可能也必须从PHP中删除它们

我建议您使用FTP用户创建目录结构,并尽可能少地保留PHP生成的内容


您可以使用许可授权(使用
chmod
)来缓解症状,但从安全角度来看,这通常不是一个好主意。

chmod()
不起作用。正确的?您是否尝试过使用
exec()
eg
mkdir-p{}-m{}
创建目录?谢谢您的提示。。我使用这里选择的答案来删除目录和文件。无法解决我分配的所有者问题,但如果不可能,这是一个很好的解决方法。好的,如果目录不是空的,我会使用该帖子中的directoryIterator选项,但请记住,您需要两个过程来避免递归:一个是删除所有文件,另一个是rmdir所有文件夹(例如,将它们放在一个数组中,反转并删除每一个)我希望我可以使用您的建议,首先在ftp中创建文件/文件夹,但它们是用于php生成的缩略图。@letterstick,您可能有文件夹结构,然后。