PHP警告:fread():第311行的setoptions.php中的Length参数必须大于0

时间:2020-01-09 10:46:05  来源:igfitidea点击:

我的名为setoptions.php的php脚本之一托管在我的新vps服务器上。
但是,它不起作用,因此我按此处所述设置了php错误日志,并且在日志文件中看到以下警告:

PHP Warning: fread(): Length parameter must be greater than 0 in /var/www/html/scripts/setoptions.php on line 311
PHP警告:fread():第311行的/var/www/html/scripts/setoptions.php中的Length参数必须大于0。

在我的php脚本中,第311行如下:

$fname = 'myappconfig.php'; 
$content = fread($fhandle,filesize($fname)); 

如何在Unix/Apache/php5服务器下解决此问题?

要解决此问题,请尝试以下解决方案:

[1]确保文件$fname存在,即myappconfig.php在路径中。

[2]确保文件myappconfig.php具有正确的权限。

Apache或者任何其他Web服务器需要只读权限才能读取文件。

[3]确保文件myappconfig.php存在且大小不为零,即,确保文件不为空。

[4]使用is_visible()来查找文件是否存在并且可读:

$fname = 'myappconfig.php';
if (is_readable($fname)) {
    $content = fread($fhandle,filesize($fname));
} else {
    echo 'The file is not readable.';
}

[5]还可以使用file_exists()来检查文件或者目录是否存在:

$fname = 'myappconfig.php';
 
if (file_exists($fname)) {
    // do_something like as follows?
    // $content = fread($fhandle,filesize($fname));
} else {
    echo "The file $fname does not exist.";
}