1.错误

  在进行PHP代码编辑的时候,容易碰到error错误提示,PHP中错误有两种:语法错误、逻辑错误。

2.错误报告类型

  Notice : 通知

  比如直接使用未定义的变量,这种错误不影响PHP脚本的正常流程运行。

  Warning : 警告

  发生了非致命的错误,同样脚本不会停止执行。

  Parse error , systax errot : 解析错误 语法错误

  出现这种提示,会阻止脚本执行,错误行前后的代码都将失效,没有结果。

  Fatal error : 致命错误

  同上,会阻止脚本执行,错误行前后的代码都将失效,没有结果。

3.错误报告的打开和关闭(2种)

  配置文件 php.ini 中的 display_errors = On / Off

  代码里输入 ini_set ( ' display_errors ' , 1 / 0 ) ;

4.错误报告级别

  常见的错误报告级别:

  值          常量                     说明

   1           E_ERROR           报告导致脚本终止运行的致命错误

   2           E_WARNING        报告运行时的警告类错误(脚本不会终止运行)

   4           E_PARSE            报告编译时的语法解析错误

   8           E_NOTICE           报告通知类错误,脚本可能会产生错误

32767       E_ALL                 报告所有的可能出现的错误(不同的PHP版本,常量E_ALL的值也可能不同)

5.错误报告级别的设置

  配置文件 php.ini 中的 error_reporting = E_ALL    // 报告所有的可能出现的错误

  代码中输入 error_reporting ( E_ALL ) ;    // 报告所有的可能出现的错误

其他例子:

  error_reporting ( E_ALL ^ E_NOTICE ) ;

  // 报告除了通知以外的所有可能出现的错误

  error_reporting ( E_ALL &~ E_NOTICE ) ;

  // 报告除了通知以外的所有可能出现的错误

  error_reporting ( 0 ) ;

  // 关闭所有可能出现的错误

  error_reporting ( 7 ) ;

  // 显示致命错误或者警告错误或解析错误  7 = 1+2+4 =  E_ERROR+E_WARNING+E_PARSE

  error_reporting ( E_ALL | E_WARNING | E_PARSE ) ;

  // 等同于上面的

6.建议

  开发环境下打开错误报告,并且错误报告级别为E_ALL

  正式环境下一定要关闭错误报告

  可以在PHP.INI中配置错误报告属性 log_errors error_log

  log_errors 控制是否把脚本的错误报告记录到日志里面

  error_log 设置错误报告的日志文件路径,在正式环境下,关闭所有的错误报告,在错误报告日志中查询错误。

ERROR : PHP中错误基础的更多相关文章

  1. 关于CUDA C 项目中“ error C2059: 语法错误:“<” ”问题的解决方法

    该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译, ...

  2. JSP开发中的基础语法

    JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...

  3. [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换

    [.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...

  4. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  5. [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在

    本文主要参考以下链接: http://m.blog.csdn.net/blog/BoxRice/48575027 https://drakeet.me/android-studio http://ww ...

  6. php出现“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误的一种情况,及解决方法

    PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误,可能是因为美元符号$的误用,看下面一种情况 class Test{         s ...

  7. error C2589: “(”: “::”右边的非法标记 error C2059: 语法错误 : “::

    1. 错误输出 ./zlibrary/ui/src/win32/w32widgets/W32VBorderBox.cpp(114) : error C2589: “(”: “::”右边的非法标记    ...

  8. PHP如何让apache支持.htaccess 解决Internal Server Error The server …错误

    TP框架  打开 www.newtp.com/index.php/Home/Index/abc出现 如下错误: Internal Server Error The server encountered ...

  9. JavaScript中错误正确处理方式,你用对了吗?

    JavaScript的事件驱动范式增添了丰富的语言,也是让使用JavaScript编程变得更加多样化.如果将浏览器设想为JavaScript的事件驱动工具,那么当错误发生时,某个事件就会被抛出.理论上 ...

随机推荐

  1. 关于C语言文件操作

    关于C语言的文件操作之前我也写过一篇博客来介绍,但是当时写的很不全面,只是简单的使用了一下 ,今天再从新学习一下. 1.文件的写 首先还是先看一个简单的例子: include<stdio.h&g ...

  2. eclipse快捷键及设置

    1.Eclipse设置新建菜单初始项 windows-->Perspective-->Customize Perspective--> 2.Eclipse快捷键 1. ctrl+sh ...

  3. php5.3命名空间内使用 php内置类的时候

    在命名空间内使用内置类库的时候,需要使用 \ 比如 $zip =new \ZipArchive;

  4. [php错误]PHP中Notice: unserialize(): Error at offset of bytes in on line 的解决方法

    使用unserialize函数将数据储存到数据库的时候遇到了这个报错, 后来发现是将gb2312转换成utf-8格式之后, 每个中文的字节数从2个增加到3个之后导致了反序列化的时候判断字符长度出现了问 ...

  5. 错误代码: 1248 Every derived table must have its own alias

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:SELECT stu_id, (SELECT stu_name FROM t ...

  6. Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定

    1.错误描述 Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定 2.错误原因 3.解决办法

  7. Docker 小记 — Compose & Swarm

    前言 任何相对完整的应用服务都不可能是由单一的程序来完成支持,计划使用 Docker 来部署的服务更是如此.大型服务需要进行拆分,形成微服务集群方能增强其稳定性和可维护性.本篇随笔将对 Docker ...

  8. pat1051-1060

    1051 自己写的非常麻烦 http://blog.csdn.net/biaobiaoqi/article/details/9338397 的算法比较好,我的就贴下吧,主要对入栈出栈不够理解 #inc ...

  9. 8.C++-类的关键字

    在之前学习的C++章节里,可以发现结构体越来越不像C语言里的结构体了 比如,里面可以定义函数,可以定义private/public,结构体名还可以指向父类. 但是C++需要兼容C,所以C++中便提供了 ...

  10. 关于html5 data-*自定义属性相关注意点和踩过的坑

    在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,命名可以用驼峰命名方式,但取值是必需全部使用小写(后面会说),使用这样的结构可以进行数 ...