我使用mkdir()在我的服务器上创建一个目录:
// $var_name is equal to an md5() hash
$path = "/var/www/publish/" . $var_name;
if(mkdir($path)) {
  echo "success";
} else {
  echo "error";
}这将由于权限被拒绝而产生错误。通过执行ls -lh在我的服务器上查找
drwxr-xr-x  2 root     root   4.0K Aug 17 09:05   publish但是,如果我的$path等于$path = "/var/www/" . $var_name;,它将创建我期望的文件夹。这里的问题似乎是什么。
发布于 2012-08-17 18:12:12
/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。
发布于 2012-08-17 18:14:06
在PHP中使用mkdir()时,它是以apache用户(ubuntu上的www-data)执行的,您可以使用chown在发布上设置与/var/www上相同的权限
在ubuntu上:
chown www-data.www-data /var/www/publish问候
模仿
发布于 2012-08-17 18:29:31
修复发布文件夹(由root拥有!)的权限。一种不安全的方式:chmod 777 /var/www/publish
最好运行suphp并将发布文件夹的所有者更改为您的php用户(+w权限)。
https://stackoverflow.com/questions/12003794
复制相似问题