探寻PHP脚本不报错的原因
投稿:hebedich
PHP程序错误一般有三种:语法错误,运行时错误,逻辑错误。
那么如果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 /* 平滑重启 */
您可能感兴趣的文章:
- PHP Undefined index报错的修复方法
- phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法
- PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
- Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法
- php使用pdo连接报错Connection failed SQLSTATE的解决方法
- 解决ThinkPHP关闭调试模式时报错的问题汇总
- ECSHOP在PHP5.5及高版本上报错的解决方法
- thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决