探寻PHP脚本不报错的原因

yipeiwu_com6年前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 PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别

PDOStatement::bindParam — 绑定一个参数到指定的变量名。 绑定一个PHP变量到用作预处理的SQL语句中的对应命名占位符或问号占位符。 不同于 PDOStateme...

Ubuntu12下编译安装PHP5.3开发环境

最近项目遇到一个坑爹的事情,一个源码必须使用PHP5.3,但是现在Ubuntu上自带的版本是5.4,降级之后会出各种奇怪的问题,最后没办法,只能一步步在Ubuntu12.04server...

php 静态属性和静态方法区别详解

php 静态属性和静态方法区别详解

静态 public、private、protected 静态属性     在属性或方法前加static关键字,即为静态属性   ...

PHP5.2下preg_replace函数的问题

preg_replace 使用的超过了php5.2默认允许的字节,也就是pcre.backtrack_limit和pcre.recursion_limit的大小的问题。 Discuz!6...

浅谈php自定义错误日志

平时经常看php的错误日志,很少有机会去自己动手写日志,看了王健的《最佳日志实践》觉得写一个清晰明了,结构分明的日志还是非常有必要的。 在写日志前,我们问问自己:为什么我们有时要记录自定...