外部硬盘驱动器上的PHP scandir在根目录下停止

时间:2014-02-19 01:17:16

标签: php apache debian raspberry-pi raspbian

我试过在谷歌和这里寻找答案,但到目前为止没有人帮助过。

我有一个带有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驱动器访问级别可能有问题吗?

1 个答案:

答案 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。