首页 文章

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

提问于
浏览
0

我正在尝试在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

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

    • 确保所有文件归Apache组和用户所有 .
    chown -R www-data:www-data /path/to/webserver/www
    
    • 接下来启用了www-data组的所有成员来读写文件
    chmod -R g+rw /path/to/webserver/www
    
  • 0

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

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

相关问题