在 UBUNTU 上使用 PHP 在 www 目录中创建文件夹


Create folder in www directory using PHP on UBUNTU

我试图使用php脚本创建一个文件夹(在www目录中)。我在 UBUNTU 上做了一些配置,但仍然无法正常工作。

Ubuntu 配置:(用户:管理员 - 组: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

试试这个:

shell_exec("md $dir");

这通常取决于运行httpd的用户和组,以及是否使用cgi或apache mod方法。 Apache 的用户需要访问权限才能创建目录。 我的解决方案 - 通常是 - 允许对组进行写入访问。 例如,在无人的情况下运行(最后一行设置文件访问权限)

chown -R :nobody *
chmod -R 770 *
find . -type f -print0 | xargs -0 chmod 640

在此之后,您可以简单地从php中创建目录和文件,但是您可能需要/想要更改它们的权限,以便在需要时可以通过主机帐户"手动"访问它们。