我正在尝试使用php脚本创建一个文件夹(在www目录中)。我在UBUNTU上做了一些配置,但仍然无法正常工作。
Ubuntu配置:(用户:admin - group:www-data)
sudo adduser admin www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
PHP代码:
function makeDir($dir)
{
$ret = @mkdir($dir, 0700);
return $ret === true || is_dir($dir);
}
错误:不要创建目录。
阅读其他一些帖子,我发现了这个UBUNTu配置,但仍无效:
sudo chmod 777 /var/www
sudo ls -l /var | grep www
sudo usermod -G www-data admin
sudo chmod 770 /var/www
sudo ls -l /var | grep www
答案 0 :(得分:0)
试试这个:
shell_exec("md $dir");
答案 1 :(得分:0)
通常取决于用户和用户。 httpd正在运行的组,如果使用cgi或apache mod方法。 apache的用户需要访问权限才能创建目录。我的解决方案 - 通常是 - 允许对组进行写访问。例如,与nobody一起运行(最后一行设置文件访问权限)
chown -R :nobody *
chmod -R 770 *
find . -type f -print0 | xargs -0 chmod 640
在此之后,你可以简单地创建目录&来自php中的文件,但您可能需要/想要更改其权限,以便您可以在需要时通过主机帐户“手动”访问它们。