我对is_file()或file_exists()函数有一种非常奇怪的行为。
<?php $nfsFile = '/mnt/nfsdir/file.txt'; var_dump(is_file($nfsFile)); ?>
此代码始终返回FALSE,但是:
$#php -r 'var_dump(is_file('/mnt/nfsdir/file.txt'));'
返回TRUE,这是正确的。
我正在运行Debian Squeeze,Apache 2.2.15和PHP 5.3.2-1。
我没有处于安全模式,目录/ mnt / nfsdir /和所有文件都在777中,www-data用户可以ls / mnt / nfsdir /所以我现在只是想出来了。
欢迎任何建议!
答案 0 :(得分:0)
看起来真的像我的服务器配置问题。
也许测试echo exec('ls /mnt/nfsdir/file.txt');
是否有效。
我不这么认为。导致它接缝,即使www-data可以访问该文件,也不允许PHP访问它。
但如果exec('ls /mnt/nfsdir/file.txt');
有效,这可能是您的解决方案。
否则我会再次查看服务器配置。