我正在尝试从PHP / Apache(LAMP @ CentOS)中访问已安装的驱动器。例如,做一个scandir:
scandir($dir);
虽然这适用于Apache安装在同一物理磁盘上的任何目录(包括root,var等等),但它不适用于外部安装的磁盘:
scandir('/var/log');
位于本地驱动器上,也包含/ var / www / html
提供有效输出,而
scandir('/mnt/data');
(这是对外部fs的装载)不会。
我一直在试验文件系统权限和httpd.conf指令(别名/目录),但还没有找到解决方案。
有人能指出我如何从apache / PHP访问外部驱动器(/ mnt / whatever)的方向吗? THX!
答案 0 :(得分:0)
如果进程可以看到挂载点,则它将能够访问其中的文件,前提是权限(包括acls和任何MAC系统允许)(MAC在此指的是强制访问控制系统,即selinux和apparmor)。
您的权限需要更改,或者Web服务器在chroot环境中运行(例如它看起来/确实是/ var / websrv /),或者您没有对httpd配置进行正确的更改。
由于您未提供有关系统配置方式的详细信息,因此未提供您已尝试过的更多信息。