安装的硬盘驱动器上的PHP mkdir权限被拒绝

时间:2016-12-03 18:54:24

标签: php mount mkdir 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上存在权限问题,但我无法弄明白,有人能给我一些线索吗?

2 个答案:

答案 0 :(得分:0)

如你所说,Apache正在www-data组中运行,并且hdd文件夹属于root,因此Apache无法通过特权创建目录。尝试

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

    chown -R www-data:www-data /path/to/webserver/www
    
  2. 接下来,www-data组的所有成员都可以读取和写入文件

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

答案 1 :(得分:0)

问题似乎来自我正在安装设备。当我使用以下命令安装驱动器时,它是有效的:

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