is_file或file_exists不在apache中工作,但在CLI中工作

时间:2010-07-15 12:50:56

标签: php apache2 debian

我对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 /所以我现在只是想出来了。

欢迎任何建议!

1 个答案:

答案 0 :(得分:0)

看起来真的像我的服务器配置问题。

也许测试echo exec('ls /mnt/nfsdir/file.txt');是否有效。

我不这么认为。导致它接缝,即使www-data可以访问该文件,也不允许PHP访问它。

但如果exec('ls /mnt/nfsdir/file.txt');有效,这可能是您的解决方案。

否则我会再次查看服务器配置。