我的一个名为 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 脚本中的第 #311 行如下:
$fname = 'myappconfig.php';
$content = fread($fhandle,filesize($fname));
在 Unix/Apache/php5 服务器下如何解决这个问题?
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 不 |
要求 | PHP 和访问日志文件 |
美东时间。阅读时间 | 1分钟 |
要解决此问题,请尝试以下解决方案:
[ 1 ] 确保文件 $fname 存在,即 myappconfig.php 在路径中。
[ 2 ] 确保文件 myappconfig.php 具有正确的权限。Apache 或任何其他网络服务器需要只读权限才能读取文件。
[ 3 ] 确保文件 myappconfig.php 存在并且大小不为零,即确保文件不为空。
[ 4 ] 使用 is_read() 来判断文件是否存在并且可读:
$fname = 'myappconfig.php' ; if ( is_read ( $fname ) ) { $content = fread ( $fhandle ,文件大小( $fname ) ) ; } else { echo '该文件不可读。' ; }
[ 5 ] 还可以使用 file_exists() 检查文件或目录是否存在:
$fname = 'myappconfig.php' ; if ( file_exists ( $fname ) ) { // do_something 如下? // $content = fread($fhandle,filesize($fname)); } else { echo "文件$fname不存在。" ; }