探寻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面相对象中的重载与重写

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类...

解析posix与perl标准的正则表达式区别

正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用 来描述或者匹...

php使用post数组的键值创建同名变量并赋值的方法

本文实例讲述了php使用post数组的键值创建同名变量并赋值的方法。分享给大家供大家参考。具体如下: 这段代码可以自动根据post数组的键值创建同名变量,这个功能使用非常方便,不用提前声...

PHP使用imagick扩展实现合并图像的方法

PHP使用imagick扩展实现合并图像的方法

本文实例讲述了PHP使用imagick扩展实现合并图像的方法。分享给大家供大家参考,具体如下: 女朋友做外贸的,最近需要做个产品册,要求是每张A4纸上有20个图片,我心想小case吧,哥...

PHP遍历某个目录下的所有文件和子文件夹的实现代码

复制代码 代码如下:<?php function read_all_dir ( $dir )    {   &...