文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP设置error_log对程序的影响

PHP设置error_log对程序的影响

时间:2008-01-26  来源:phpor

问题  
在别的服务器上可以运行的PHP程序 ,上传到Prima for Linux系统上 ,或者输出大量php错误,或者直接报告500服务器错误 ;如果打开CGIwrap的debug模式,可看到大量数据库和php错误
例如wordpress-2.3.2程序,在Prima系统上报告500服务器错误
基本的install.php安装程序都无法运行   

解决方案  
这是由于程序代码中存在一些不兼容的调用造成的
例如,对于代码错误的输出,网站PHP程序中使用了error_log函数
error_log($error_str, 0);
在函数error_log中,输出方式指定为0的话,以为着向stdout输出
即直接把错误“打印”到当前linux的console上
如果PHP和Apache用模块方式结合,则这个错误会被隐藏掉
因为作为apache一部分的php运行是由httpd完成的,自身没有地方输出
如果是使用CGI方式,则这部分错误信息都会直接打在当前屏幕上
所以,在正常页面上方,就会看到数条错误信息
如果错误信息出现的位置是第一行,此前没有任何html被输出
则apache还会返回500服务器错误,实际错误都将被隐藏
为了解决这个问题,需要将php.ini中的error_log全局log打开
这样使得CGI方式的PHP会将报错写入到日志文件中,就不会发生这样的错误了
以AS4系统使用PHP4为例
编辑/usr/local/php4/etc/php.ini
找到如下一行:
;error_log = syslog
将这行前边的分号删除,即表示将php的错误打印到/var/log/message
如此,程序即可正常运行



相关阅读 更多 +
排行榜 更多 +
XLM币最具爆发力的安全交易所币安binance下载

XLM币最具爆发力的安全交易所币安binance下载

金融理财 下载
XEM币最安全隐私链的全球交易所币安binance下载

XEM币最安全隐私链的全球交易所币安binance下载

金融理财 下载
WAVES币最新上线的优质交易所币安binance下载

WAVES币最新上线的优质交易所币安binance下载

金融理财 下载