我的网络应用程序托管在 / var / www 文件夹中。我正在从Web应用程序的一个PHP脚本创建一个文件夹。创建的文件夹的默认权限是drwx------
,即700.但我希望该文件夹至少具有755的权限。
到目前为止,我尝试了mkdir($path, 0755)
和chmod($path, 0755)
PHP函数,但没有成功。
有人知道如何解决我的问题吗?
预先数百万的感谢。
答案 0 :(得分:2)
您是否尝试过更换umask?
看看这里:http://nl3.php.net/manual/en/function.umask.php
最简单的方法:
$oldmask = umask(0);
chmod($path, 0755);
umask($oldmask)
答案 1 :(得分:1)
由于您具有700的默认权限,这意味着父目录(您尝试创建该文件夹的目录)对组所有者或其他用户没有rw权限。大多数情况下,运行恶魔(httpd)不是父文件夹的所有者,因此无法修改目录。
简单来说,php脚本无权修改或添加新目录。您需要将父文件夹的权限更改为至少 drwxrw-rw - (或0755)。
使用ssh,cpanel或ftp客户端执行此操作。如果你使用PHP脚本,你将再次遇到同样的问题,因为父母的父母将再次拥有0700.;)