探寻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   /* 平滑重启 */

(0)

相关推荐

  • PHP Undefined index报错的修复方法

    虽然可以通过设置错误显示方式来隐藏这个提示,但是这样也有隐患,就是在服务器的日志中会记录这些提示,导致日志文件异常庞大. 首先,这个不是错误,是warning.所以如果服务器不能改,每个变量使用前应当先定义.网上流行的解决方法有以下几种: 方法1:服务器配置修改.修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE. 方法2:对变量进行初始化,规范书写(比较烦琐,因为有大量的变量).但还没有找到好定义方法,望大家指教. 方法3:每个文件头部加上:er

  • phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法

    通过phpmyadmin连接mysql数据库时提示:"2003 无法登录 MySQL服务器"...很明显这是没有启动mysql服务,右击我的电脑-管理-找到服务,找到mysql启动一下,,是不是启动有报错: "无法启动mysql服务 错误1067:进程意外中止 " 然后就baidu google吧,多是说禁远程连接,要改my.ini文件,也有说防火墙的,总之对症下药. 不过同样的报错,导致它的原因并不是都是同样的.这就是看自己的经验和对问题的钻研了,好了不多 说了,

  • php使用pdo连接报错Connection failed SQLSTATE的解决方法

    本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决方法.分享给大家供大家参考.具体方法如下: 错误描述: Connection failed: SQLSTATE[HY000] [2002] No such file or directory 环境概述: MacOS xampp 搭建的开发环境 apache mysql php xampp 已支持mysql

  • 解决ThinkPHP关闭调试模式时报错的问题汇总

    案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 "页面调试错误,无法找开页面,请重试"的错误. 我就郁闷啦,明明本地设置define('APP_DEBUG', false) 运行没点问题,怎么放到服务器上就出错了昵? baidu,Google还是没有找到解决方案,突然发现项目APP_Name/Runtime/Cache目录和APP_Name/Runtime/Logs目录没有可写权限,果断更改,F5,唉好啦,妈妈再也不用担

  • Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法

    在 Win Server 08 往上搭载的 IIS 跑 php 性能提升不少,但还是觉得不太舒服... 某日在调试一个win上的php生产环境时,一段php代码返回了错误: Fatal error: Class 'COM' not found in XXXXXXXXX 没发现 COM 类,php代码主要是调用一些系统的信息,初想应该是php没配置好,在stackoverflow找到答案,是讨论xampp的,要延伸开来,我加了几个要点: ★ php 根目录的 ext 文件夹下确保存有 php_co

  • PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法

    最近在使用curl中遇到CURL ERROR: Recv failure: Connection reset by peer的报错提示,现把解决方法与大家共享,希望对大家有所帮助. 我们经常用curl来访问web站点,web站点目前主要分为http和https两种协议,众所周知https类型的网站都是通过ssl协议+http协议的,是目前最安全的网站协议,访问此类网站的时候,会走ssl协议,验证访问者的证书,检测是否安全. 通过curl访问此类网站也是如此流程,但是curl中需要添加相应的参数,

  • ECSHOP在PHP5.5及高版本上报错的解决方法

    Ecshop却没来得及修改,如果在高版本的php虚拟主机上安装ecshop程序,出现兼容性问题. 小编在本地环境php5.5上安装出现以下两种报错提示: Only variables should be passed by reference php Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead-? 通过在网络上查找,小编发现并不是只能在低版本的php中安装

  • thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决

    最近一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说"模板不存在:/Application/Admin/...." 检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错.莫名其妙,怀疑是代码问题. 仔细检查后,发现是模板的文件名问题: 用过TP的都知道:thinkphp会在$this->display()的时候,会自动获取方法名作为模板的文件名,比如一个getUserInfo方法对用着getuserinfo.html的模板文件. 对控制器里的方法

  • 探寻PHP脚本不报错的原因

    那么如果PHP脚本不报语法错,会是什么原因呢: 1. 一般的集成环境,默认会开启错误报告; 但在linux系统中,使用软件包安装的就不一定了, 此时可以查看PHP配置文件,打开错误报告 => 复制代码 代码如下: display_errors = On /* PHP配置文件路径:/uer/local/php/etc/php.ini  */ 注:PHP脚本中动态设置php.ini配置文件的方法 => 复制代码 代码如下: ini_set('display_errors', 'On'); /* 显

  • 关于获取DIV内部内容报错的原因分析及解决办法

    1.错误描述 2.错误原因 由于向div中添加元素,利用append(); $("#divStyle").append("<div><label>_data[i].name</label></div>"); append里面是动态数据,当请求数据为空时,获取并判断div中的内容: var divContent = $("#divStyle").html(); if(divContent == nul

  • vue 中使用 watch 出现了如下的报错的原因分析

    报错: Method "watch" has type "object" in the component definition. Did you reference the function Method "watch" has type "object" in the component definition. Did you reference the function correctly? 原因: watch 是一个对

  • python异常处理之try finally不报错的原因

    因为有把python程序打包成exe的需求,所以,有了如下的代码 import time class LoopOver(Exception): def __init__(self, *args, **kwargs): pass class Spider: def __init__(self): super().__init__() def run(self): raise LoopOver @property def time(self): return '总共用时:{}秒'.format(se

  • idea中springboot项目连接数据库报错的原因解析

    一.我在运用mybatis下报错,反复检查无逻辑问题,下图为项目结构截图 二.最后总结问题如下: 1)报错代码: Caused by: java.lang.RuntimeException: Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Thread context classloader at com.zaxxer.hikari.HikariConfi

  • Spring Boot集成Druid出现异常报错的原因及解决

    Spring Boot集成Druid异常 在Spring Boot集成Druid项目中,发现错误日志中频繁的出现如下错误信息: discard long time none received connection. , jdbcUrl : jdbc:mysql://******?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8, version : 1.2.3, las

  • Pycharm最全报错的原因与解决方法总结(推荐!)

    目录 前言 (一)Pycharm报错:No R interpreter defined (二)找不到指定的模板:ImportError:DDL load failed while importing ft2font: (三)pycharm中无法识别导入自己写的模块 (四)pycharm光标变粗,无法编辑代码 (五)使用Pycharm给Python程序传递参数 总结 前言 最近在使用Pycharm,在运行或者安装的过程中出现了各种各样的报错,前面已经介绍过安装pygame出现报错的解决方法.文章总

  • Vue3格式化Volar报错的原因分析与解决

    目录 问题描述 原因分析: 解决方案: 总结 问题描述 今天在新建一个Vue3项目的时候,vscode突然提示报错,如下: The 1 extension(s) below, in workspace recommendations have issues: johnsoncodehk.volar (not found in marketplace) 原因分析: 百度了一下,网上并没有任何类似的例子和结局方案 首先根据英语提示,翻译报错原因是因为 工作区推荐的 johnsoncodehk.vol

  • 运行npm run dev报错的原因及解决

    目录 项目场景: 问题描述 原因分析: 解决方案: 总结 项目场景: 提示:这里简述项目相关背景: 例如:项目场景:导入Spring Boot+vue项目时,运行npm run dev报错 问题描述 提示:这里描述项目中遇到的问题:运行npm run dev报错,在网上试了好多方法,都没解决. 原因分析: 提示:这里填写问题的分析:Note that the development build is not optimized.To create a production build, run

  • C或C++报错:ld returned 1 exit status报错的原因及解决方法

    目录 参考资料:关于Id returned 1exit status的解决办法 一.问题描述 二.个人解决 三.总结反思 C或C++报错:ld returned 1 exit status(ld返回1,退出状态) 可能是以下原因:        1)程序正在运行,无法编译,上次运行的窗口未关闭. 程序窗口重复运行没有及时关闭,存在多个打开窗口,得一个个都关闭了再编译. 2)一个项目中有多个 xx.c 文件,将多余的xx.c文件改成头文件即可. 3)有函数拼写错误,如:printf拼写成prntf

随机推荐