探寻PHP脚本不报错的原因
来源: 互联网 发布时间:2014-08-26
本文导语: 那么如果PHP脚本不报语法错,会是什么原因呢: 1. 一般的集成环境,默认会开启错误报告; 但在linux系统中,使用软件包安装的就不一定了, 此时可以查看PHP配置文件,打开错误报告 => 代码如下: display_errors = On ...
那么如果PHP脚本不报语法错,会是什么原因呢:
1. 一般的集成环境,默认会开启错误报告; 但在linux系统中,使用软件包安装的就不一定了,
此时可以查看PHP配置文件,打开错误报告 =>
代码如下:
display_errors = On /* PHP配置文件路径:/uer/local/php/etc/php.ini */
注:PHP脚本中动态设置php.ini配置文件的方法 =>
代码如下:
ini_set('display_errors', 'On'); /* 显示所有错误 */
2. 设置错误报告级别 =>
代码如下:
error_reporting = E_ALL; /* 最严格的错误报告级别, 开发阶段可开启 */
error_reporting = E_ALL &~ E_NOTICE /* 除了notice以外的错误 */
error_reporting = E_ERROR | E_PARSE | e_CORE_ERROR /* 只考虑致命的运行时错误,新解析错误 和 核心错误 */
以上三种,推荐中间的。
注:PHP脚本中动态设置error_reporting错误报告级别的方法 =>
代码如下:
error_reporting(E_ALL &~ E_NOTICE);
3. 更改配置文件以后,需要重启服务才能生效 =>
Apache的启动:/usr/local/apache2/bin/apachectl start /* 推荐 */
另, 红帽linux专有启动命令:service httpd start
Apache的重启:/usr/local/apache2/bin/apachectl restart
另,红帽专有启动命令:service httpd restart
Apache的停止:/usr/local/apache2/bin/apachectl stop
另,红帽专有启动命令:service httpd stop
Nginx的重启:/usr/local/nginx/sbin/nginx -s reload /* 平滑重启 */