以下代码有效(打印“找到文件”)查找是否从命令行运行
php a.php
但如果我尝试从浏览器http://localhost/a.php访问它,则会打印“找不到文件”。
相同的URL在不同的机器上工作正常,这真的很奇怪。我无能为力,为什么它不起作用。
我已经检查过open_basedir它已被禁用且httpd.conf中没有条目
if(file_exists("/mnt/disk1/a.jpg")) { echo "file found"; } else { echo "file not found"; } ?>
答案 0 :(得分:2)
Web服务器用户帐户必须具有读取文件的权限 - 这是与您在控制台上使用的帐户不同的用户帐户。
sudo chmod +rx /mnt/disk1/a.jpg
Apache还需要对所有文件夹执行root访问权限。
sudo chmod +x /mnt/disk1
sudo chmod +x /mnt