我试过在谷歌和这里寻找答案,但到目前为止没有人帮助过。
我有一个带有raspbian(debian)的覆盆子pi,用于通过USB连接外部硬盘的操作系统。我已经安装它并通过我的网络共享它。驱动器安装为“/ media / Backup”。我可以访问驱动器上的文件和文件夹,服务器端和网络上的任何计算机都没有任何问题。
我还试图托管一个网络服务器,它将显示硬盘上的前两级目录。如果我在PHP文件中使用以下代码:
$dir = '/media';
$files1 = scandir($dir);
print_r($files1);
结果是:
.
..
Backup
到目前为止,一切正常。现在解决问题了。如果我尝试使用此代码:
$dir = '/media/Backup';
$files1 = scandir($dir);
print_r($files1);
它将导致找不到文件/文件夹。
我不确定这是否是PHP内部或Debian内部访问驱动器的问题。
我在两个类别下都标记了这个,因为我不确定问题是什么。
非常感谢任何帮助。
我的Apache驱动器访问级别可能有问题吗?
答案 0 :(得分:2)
事实证明,我确实为用户“www-data”添加了访问我的外部驱动器的权限。对于有这个问题的未来人来说,这就是我所做的。
我首先使用以下方法创建了一个目录(代表完成安装后的驱动器):
sudo mkdir /media/HD2
创建目录后,您现在可以将驱动器安装到该目录:
sudo mount /dev/sdb1 /media/HD2
其中/ dev / sdb1是我的驱动器。
接下来,我为驱动器的fstab添加一个条目:
sudo nano /etc/fstab
我在文件中添加另一个条目,如下所示:
/dev/sdb1 /media/HD2 vfat permissions,defaults,auto 0 0
对于fat32文件系统使用vfat,如果是驱动器则使用ntfs。不要使用任何空格;使用标签。
保存fstab。 最后运行:
sudo chown -R www-data:www-data /media/HD2
这允许用户www-data访问HD2中的所有文件和文件夹,其中包括apache。