PHP的错误知识
一、绪
PHP程序的错误发生一般归属于:
- 语法错误(会阻止脚本的执行)
- 运行时错误(不会阻止脚本的执行,但会组织脚本做希望它做的任何事情)
- 逻辑错误(不会阻止脚本执行,也不会显示错误消息)
二、开启错误信息
# 查看php.ini的配置文件地址
开启错误信息的方法:
1、修改php.ini配置文件
display_errors = On
2、 通过函数动态开启错误提示
ini_set(‘display_errors’, 1)
注意:产品上线时,注意关闭错误显示,而推荐以日志的形式记录错误日志,如
1、使用指定的文件记录错误报告日志
修改php.ini配置文件:
error_reporting = E_ALL
display_errors = off
log_errors = on #开启将错误报告写入日志
log_errors_max_len = 1024 #每个日志项的最大长度,字节
error_log = /usr/local/error.log #指定产生错误报告写入的日志文件位置
https://www.php.net/manual/zh/errorfunc.configuration.php#ini.error-log
还可以使用 error_log() 函数,发送错误信息到某个地方
2、错误信息记录到操作系统的日志中
error_reporting = E_ALL
display_errors = Off
log_errors = On
log_errors_max_len = 1024
error_log = syslog 指定产生的错误报告写入操作系统的日志中
三、错误处理的级别
PHP的错误报告有很多种级别。
设置错误报级别:
1、修改配置文件
error_reporting = E_ALL
注意:位运算符&、|、~可以和错误级别常量一起使用,如,
E_ALL & ~E_NOTICE,表示除了通知外的任何级别错误;
E_ERROR | E_PARSE | E_CORE_ERROR,表示只考虑运行时错误、解析错误和核心错误
E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE),表示报告除了用户导致的错误外的所有错误
2、使用函数动态配置
error_reporting(E_ALL)
PHP的错误知识的更多相关文章
- MFC中错误知识总结(一)
1.在继承与派生中,单目:表示派生,双目::表示继承,例如 class A { public: void c(); }; class B: public A {}; //类B继承类A void A:: ...
- 关于网上大量对Vue双向绑定的错误理解
对于Vue的双向绑定,现在基本是个前端都听说过,面试官也喜欢问这个问题.但对于Vue双向绑定的原理,掘金.博客园和segmentfault等技术社区充斥着大量的错误文章.这些文章的题目基本样子如下 “ ...
- 深入理解CSS中的层叠上下文和层叠顺序(转)
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...
- <<数字是世界的>>读后感
我对这本书的第一印象就是很多书评中提到的,这是一本无论是否有学习过计算机专业知识的人都可以读的书.我一开始不是很能理解这些评价,我是抱着对这个问题的疑惑进行通读的,以后我发现了,它全书中都很少出现计算 ...
- 小tips: 使用 等空格实现最小成本中文对齐
一.重见天日第二春 11年的时候,写了篇文章“web页面相关的一些常见可用字符介绍”,这篇文章里面藏了个好东西,就是使用一些空格实现个数不等的中文对齐或等宽.见下表: 字符以及HTML实体 描述以及说 ...
- PNG格式小图标的CSS任意颜色赋色技术
一.眼见为实 CSS可以修改图片的颜色,没错,可以,眼见为实!您可以狠狠地点击这里:png小图标CSS赋色demo 上面的不是很黑的是原始图标,是个PNG图片,下面这个是可以赋色的: 下面,我们随意选 ...
- 【转】CSS深入理解流体特性和BFC特性下多栏自适应布局
这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinx ...
- CSS3 filter:drop-shadow滤镜与box-shadow区别应用 抄的
CSS3 filter:drop-shadow滤镜与box-shadow区别应用 这篇文章发布于 2016年05月18日,星期三,01:07,归类于 css相关. 阅读 5777 次, 今日 12 次 ...
- CSS3/SVG clip-path路径剪裁遮罩属性简介
一.SVG属性和CSS3属性千丝万缕的关系 CSS3新增属性除了我们现在用的比较多的border-radius, box-shadow, gradient, ...之类,还有很重要的一个分支:SVG属 ...
随机推荐
- JS-正则表达式常规运用
限制文本框只能输入0和正数 <input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')& ...
- 带有“全选”的combotree
<div id="setBtn_dd" class="easyui-window" data-options="iconCls:'icon-sa ...
- ubuntu中数据迁移的时候出现ImportError错误
今天在Flask框架中使用数据库迁移的时候出现了如下错误: ImportError: libmysqlclient.so.20: cannot open shared object file: No ...
- WebApplicationInitializer初始化web应用,不需要web.xml
web应用的上下文层次结构 很多时候加的切面不起作用,是因为加错地方了 1.直接初始化,上下文只有一个context import org.springframework.web.WebApplica ...
- win10 下安装 tesseract + tesserocr
首先参考博文一贴:https://blog.csdn.net/u014179267/article/details/80908790 1.那么安装这两个模块是为了爬虫的时候识别验证码用的,但是安装的过 ...
- 201771010135杨蓉庆《面向对象程序设计(java)》第四周学习总结
学习目标 1.掌握类与对象的基础概念,理解类与对象的关系: 2.掌握对象与对象变量的关系: 3.掌握预定义类的基本使用方法,熟悉Math类.String类.math类.Scanner类.LocalDa ...
- 用java代码打印九九乘法表
package com.wf; public class cal { public static void main(String[] args) { for(int i=1;i<10;i++) ...
- python闯关之路一(语法基础)
1,什么是编程?为什么要编程? 答:编程是个动词,编程就等于写代码,那么写代码是为了什么呢?也就是为什么要编程呢,肯定是为了让计算机帮我们搞事情,代码就是计算机能理解的语言. 2,编程语言进化史是 ...
- ubuntu-18.04 修改用户名密码
1. 开放root登录 设置root密码 $ sudo passwd root 切换到root 用户 $ sudo -i 修改/etc/pam.d/gdm-autologin $ vim /etc/p ...
- 【转】Node.js到底是用来做什么的
Node.js的到底是用来做什么的 在阐述之前我想放一个链接,这是国外的一个大神,对于node.js非常好的一篇介绍的文章,英文比较好的朋友可以直接去阅读,本文也很大程度上参考了这篇文章,也同时感谢知 ...