我正在使用OpenVPN Web GUI而我遇到了一些问题,因为该程序没有看到必要的文件之一。该文件的ls -l
如下:
-rw-r--r-- 1 root www 4153 Dec 20 10:12 /etc/openvpn/inn.crt
但是当我运行该程序时,它声称该文件不存在。我尝试了这个sprintf('%d', fileperms($sLongFileName));
,这引发了“无法统计”警告。 file_exists()
也返回false。存在另一个PHP可见的文件:
-rw-r--r-- 1 root www 581 Dec 21 12:52 /etc/openvpn/crl.pem
这是什么原因?
编辑:我让程序为这两个文件执行此操作:
file_put_contents("_dumpfile", "\n<<".$sLongFileName.">>\n", FILE_APPEND);
结果如下:
>>/etc/openvpn/inn.crt
<</etc/openvpn/crl.pem>>
文件路径有问题吗?
答案 0 :(得分:2)
除了文件的物理存在之外,还有其他不同的东西会阻止您访问特定用户下的文件。
您需要验证是否可以使用PHP脚本用来执行这些调用的用户访问文件和文件所在的目录(这取决于您的服务器和PHP配置)。所以首先要找出哪个是用户名。
然后检查您的系统配置是否像SELinux这样的实用程序因某种原因阻止了对文件的访问,例如webrequest导致文件访问不允许的文件。