PHP mkdir 权限被挂载的硬盘驱动器拒绝

PHP mkdir permission denied on mounted hard drive

我正在尝试在 php 脚本中使用命令 mkdir 在 raspberry pi 上安装的硬盘驱动器上创建目录。 我已经创建了目录 /mnt/hdd ( sudo mkdir /mnt/hdd ),我正在使用命令安装设备:

sudo mount /dev/sda1 /mnt/hdd

我的 php 脚本是:

<?php
     mkdir("/mnt/hdd/storage_1/");
     mkdir("/mnt/hdd/storage_2/");
?>

但是当我 运行 这个脚本时,目录没有创建,我在 /var/log/apache2/error.log 中有这些错误:

[Sat Dec 03 18:47:44.590884 2016] [:error] [pid 1295] [client 192.168.1.11:50940] PHP Warning:  mkdir(): Permission denied in /home/pi/html/createDir.php on line 2
[Sat Dec 03 18:47:44.591949 2016] [:error] [pid 1295] [client 192.168.1.11:50940] PHP Warning:  mkdir(): Permission denied in /home/pi/html/createDir.php on line 3

这是目录 /mnt/hdd 的权限:

drwxr-xr-x  2 root root  32K Jan  1  1970 hdd

我的 apache 服务器使用默认配置(www-data 用户和组)。文件夹 /mnt/hdd 存在权限问题,但我无法弄清楚,有人可以给我提示吗?

如您所说,Apache 在 www-data 组中 运行,hdd 文件夹属于 root,因此 Apache 无法创建目录,因为 privileges.Try

  1. 确保所有文件都归 Apache 组和用户所有。

    chown -R www-data:www-data /path/to/webserver/www
    
  2. 下一步启用 www-data 组的所有成员读写文件

    chmod -R g+rw /path/to/webserver/www
    

安装设备时似乎出现了问题。当我使用以下命令安装驱动器时它可以工作:

sudo mount /dev/sda1 /mnt/hdd umask=000