php中的错误类型有:1、程序本身的错误;2、未定义符号;3、操作系统所带来的差异;4、PHP配置差异;5、SAPI差异;6、运行错误 ;7、PHP错误;8、定义错误处理器。

PHP的错误类型

一,程序本身的错误

这种错误是比较容易就可以处理的错误,比如说语法错误或者是编译器无法解析,这些错误在编译的时候,就会不通过编译,然后可以根据错误的提示,找到具体的错误代码。但当使用eval()执行的代码发生错误时,在编译期间是发现不了,它只能等到代码在执行的过程中,对其编译产生错误,如我们执行下列代码,就会在执行过程中出现错误:<?php

echo "this will be echo to putty";

eval("php error when parser");

?>

这种错误和其它的代码错误不同的是,在位于它之前的echo是可以输出的。而其它的代码错误是不会有任何输出的,因为编译就通不过,不会运行。

二,未定义符号

当PHP执行的时候,它可能遇到许多变量、函数等它不知道的名字,因为PHP在编译的时候,并没有完整的了解所有的符号名称、函数名等。

如果只是未定义的常量或者变量,这是只是一个通知的形式告知。但如果是遇到未定义的函数或者类,程序将会终止运行。在关于找不到类的时候,如果用户定义了叫做__autoload的函数,它将在PHP遇到一个未定义的类时调用,如果通过这个函数可以返回类,新加载的类将会被使用,不产生任何错误。

三,通用性错误

3.1 操作系统所带来的差异

一些只在某特殊的平台可用的PHP函数。

一些在某特殊的平台不可用的PHP函数。

一些在不同的平台下有着细微差别的PHP函数。

区别文件名中的路径成份的字符。

外部程序或者服务并不是在所有平台中都可用。

3.2 PHP配置差异

比如配置选项magic_quotes_gpc,如果这个选项是开启的,PHP将增加斜线到所有的外部数据中。这时,如果将程序移植至另一台没有开启这个选项的服务器上上时,用户的输入就会有问题了。处理类似差异的办法是检查PHP代码并通过ini_get()函数查看选项是否启用,然后作一个统一的调整。

register_globals : 该设置决定PHP是否引入GET,POST,cookie,环境变量或者服务器变量为全局变量。一般避免使用。

allow_url_fopen: 如果这个选项设置为false,对URL文件操作的功能是关闭的。

3.3 SAPI差异

四,运行错误

如对硬盘数据或者网络操作以及数据库调用时,由于PHP本身以外的因素所造成的错误。

五,PHP错误

PHP中的错误机制是被所有的PHP内置函数使用的,通常这个简单的机制打印出一个错误信息,包括一些错误相关的基本信息。

错误级别分为:E_ERROR:严重错误。

E_WARNING:最普通的错误类型。

E_PARSE:解析错误在编译的时候发生。

E_STRICT:这个错误级别是唯一不包含在E_ALL常量中的,为了让PHP4到PHP5的迁移更加容易。

E_NOTICE:表示运行的代码可能在操作一些未知的事情。

E_CORE_ERROR:由于扩展启动失败等导致的。

E_COMPILE_WARNING:编译的时候出现的警告,告诉用户一些不推荐使用的语法信息。

E_COMPILE_ERROR:编译错误。

E_USER_ERROR

E_USER_WARNING

可以用error_reporting(Integer)函数来设置哪些错误被报告。如所有的错误,表示为E_ALL ,除了通告以外的所有错误,可以表示为E_ALL & ~E_NOTICE.

display_errors(boolean):这个设置控制错误是否作为PHP输出的一部分显示出来。

log_errors(boolean),这个设置控制错误是否记录。日志的地址是通过error_log(String)设置决定的。默认情况下,错误被记录到WEB服务器的错误日志中。

html_errors(boolean):设置控制是否在错误信息中采用HTML格式 。

六,定义错误处理器

可以调用 set_error_handler(error_handle_function,error_types)指定错误处理器。如function customError($errno, $errstr, $errfile, $errline)

{

echo "Custom error: [$errno] $errstr
";

}

set_error_handler("customError"); // 默认为所有的错误,就是E_ALL.

php中常见的错误类型有,php中的错误类型有哪些相关推荐

  1. 7、大数据中常见的文件存储格式以及hadoop中支持的压缩算法

    Hadoop系列文章目录 1.hadoop3.1.4简单介绍及部署.简单验证 2.HDFS操作 - shell客户端 3.HDFS的使用(读写.上传.下载.遍历.查找文件.整个目录拷贝.只拷贝文件.列 ...

  2. 错误内存【读书笔记】C程序中常见的内存操作有关的典型编程错误

    题记:写这篇博客要主是加深自己对错误内存的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 对C/C++程序员来讲,内存管理是个不小的挑战,绝对值得慎之又慎,否则让由上万行代码构成的 ...

  3. python中常见的双下方法_python中常见的双下方法_python面向对象(5)__特殊双下方法...

    双下方法 双下方法是开发python这个语言程序员用的,源码中使用的. 我们不能轻易使用双下方法.可能重新写object的源码,慎用!!! 双下方法特征:你不知道干啥了,就会触发某个双下方法 len ...

  4. java中常见的包类接口_Java中一些常用的类,包,接口

    类:1.java.lang.Object 2.java.lang.String 3.java.lang.System 4.java.io.file 5.java.io.FileInputStream ...

  5. python2发送http不编码_[转]Python 2.x中常见字符编码和解码方面的错误及其解决办法...

    Python 2.x中的字符编码,设计的的确不好,导致初学者,甚至是即使用Python很长时间的人,都会经常遇到字符编解码方面的错误. 下面就把一些常见情,尽量的都整理出来,并给出相应的解决办法. 看 ...

  6. .NET中常见的 IL 指令集

    2019独角兽企业重金招聘Python工程师标准>>> 一.IL中常见的符号 二..NET中常见的 IL 指令集 名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add. ...

  7. 加密算法中常见的IND安全模型

    加密算法中常见的IND安全模型 在加密算法中,我们经常会看到IND安全模型的定义,下面将介绍IND-CPA,IND-CCA,IND-CCA2的安全模型.

  8. php中常见的错误类型有,JavaScript中常见的错误类型有哪些?(详细介绍)

    在JavaScript中,当发生错误时会生成描述错误类型的错误对象,此错误对象包含错误类型和编号等信息,这些信息可用于后续处理等,在本篇文章中将给大家介绍常见的错误类型以及如何处理这些错误. Java ...

  9. php中常见的错误类型有,JavaScript编程中会出现的错误类型有哪些?错误类型介绍...

    JavaScript编程中会出现的错误类型有哪些?本篇文章就给大家介绍在JavaScript编程中出现的几种常见的错误类型.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助.[相关视频教 ...

  10. 数据可视化过程中常见的错误类型

    数据可视化是一个沟通复杂信息的强大武器.通过可视化信息,我们的大脑能够更好地抓取和保存有效信息,增加信息的印象.但如果数据可视化做的较弱,反而会带来负面效果.错误的表达会损害数据的传播,完全曲解他们. ...

最新文章

  1. android View未渲染时获得高度
  2. 视频监控为校园安全插上“隐形的翅膀”
  3. mysql安装samba_centos 安装samba
  4. java se 6u111_linux下查看已经安装的jdk 并卸载jdk
  5. JAVA中反射的实现过程和作用分别是什么?
  6. 密码学系列之:twofish对称密钥分组算法
  7. 解决Java中JDBC方式连接不了各类数据库问题
  8. 内部曝料——博文年会之《武林外传》
  9. 仿真器连接出现NO TARGET CONNECTED解决方法及cube配置方法
  10. 在实现视频播放器的步骤client(三)风行网络电影列表
  11. 基于python的OCR中文识别教程
  12. named_struct类型怎么用
  13. can总线程序讲解_汽车can总线工作原理及测量方法详解
  14. CS模式(客户端到服务器端)
  15. vr线上虚拟展馆H5三维购物带的便利【商迪3D】与您细说
  16. 浏览器(V8)的垃圾回收机制
  17. 微信如何添加企业微信信息服务器地址,企业微信怎么添加管理员 设置方法介绍...
  18. H - Streets of Working Lanterns Gym - 101149H -括号匹配-栈模拟
  19. gem是什么证书_珠宝鉴定:EGL证书到底是一个什么样的证书?
  20. adonis 开发 01

热门文章

  1. 删缓存,数据库更新谁先执行,及延时双删
  2. rocketmq顺序消费问题
  3. RocketMQ之一:RocketMQ整体介绍
  4. MySQL 索引的原理与应用:索引类型,存储结构与锁
  5. Linux下Python的安装以及注意事项
  6. 刀片存储助力发挥融合基础架构优势
  7. 提升数据建模的10种技术措施
  8. python标准库之collections
  9. ASCII、Unicode、GBK和UTF-8字符编码的区别联系[转]
  10. Android开发者指南-用户界面-拖放-Drag and Drop[原创译文]