在php编程中,对于一些访问没有明显错误提示的php页面,可以通过error_log来做进一步的判定。
但出于种种原因,有些服务器并没有开启PHP的error_log功能。
测试或其它需要时,可以打开一下,方法如下。
编辑php.ini,将log_errors设置为on:
然后,重启apache即可。
如成功开启,就可以跟踪到对应的错误提示:
[Mon Sep 24 16:57:01 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2
[Mon Sep 24 16:57:02 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2
[Mon Sep 24 16:57:03 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line 2
[Mon Sep 24 16:57:04 2012] [error] [client 218.5.80.210] PHP Warning: fsockopen() has been disabled for security reasons in /home/bccgi-bin/fsockopen.php on line
另外,注意在Windows环境下,除了将log_errors设置为on外,还需要定义error_log的路径及文件名:
(此目录需要授予php标识用户的修改权限,否则日志文件无法生成)
IIS没有error_log的概念,所以需要另外定义。
无论是php编程,还是基于系统的运维等,日志文件都相当重要的,养成收集与分析日志的习惯吧,有时会在解决问题时带来大的帮助。