我正在尝试在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上存在权限问题,但我无法弄明白,有人能给我一些线索吗?
答案 0 :(得分: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
答案 1 :(得分:0)
问题似乎来自我正在安装设备。当我使用以下命令安装驱动器时,它是有效的:
sudo mount /dev/sda1 /mnt/hdd umask=000