mkdir拒绝许可

Lea*_*cia 5 php apache debian mkdir

我用来mkdir()在我的服务器上创建一个目录:

// $var_name is equal to an md5() hash
$path = "/var/www/publish/" . $var_name;
if(mkdir($path)) {
  echo "success";
} else {
  echo "error";
}
Run Code Online (Sandbox Code Playgroud)

由于权限被拒绝,这将产生错误.查看我的服务器,通过做ls -lh

drwxr-xr-x  2 root     root   4.0K Aug 17 09:05   publish
Run Code Online (Sandbox Code Playgroud)

但如果我$path等于$path = "/var/www/" . $var_name;它将创建我期望的文件夹.这里似乎是什么问题.

Chr*_*int 10

/var/www/publish文件夹的权限是错误的.您需要确保apache用户具有创建目录所需的权限.

您可以创建目录,/var/www/因为它将具有不同的权限.

检查运行httpd进程的用户的名称以及chown -R user:group /var/www/publish该用户/组的名称.在debian上,这似乎是www-data/www-data,因此您需要运行以下命令chown -R www-data:www-data /var/www/publish.

  • 请原谅我,但似乎有点不可避免地要求它,因为它几乎是问题的答案. (3认同)