主要内容 常见的错误和异常 错误处理 异常处理 隐藏错误的技巧
主要内容 常见的错误和异常 错误处理 异常处理 隐藏错误的技巧
PHP代码运行时,会发生各种错误:可能是语法的错误,通常 是程序员造成的编码错误或错别字;可能是拼写错误或语言中缺 少的功能(可能由于浏览器差异);可能是由于来自服务器或用 户错误输出而导致的错误。当然,也可能是由于许多其他不可预 知的因素
PHP代码运行时,会发生各种错误:可能是语法的错误, 通常 是程序员造成的编码错误或错别字;可能是拼写错误或语言中缺 少的功能(可能由于浏览器差异);可能是由于来自服务器或用 户错误输出而导致的错误。当然,也可能是由于许多其他不可预 知的因素
常见的错误和异常 1、拼写错误 PHP中常量和变量都是区分大小写的,例如把变量名abc写成 ABC,都会出现语法错误。 PHP中的函数名、方法名、类名不区分大小写,但建议与定义时 使用的名称相同。 另外,编写代码时有时需要输入中文字符,注意中英文字符的切 换,避免小括号、分号或者引号等出现的错误
常见的错误和异常 1、拼写错误 PHP中常量和变量都是区分大小写的,例如把变量名abc写成 ABC,都会出现语法错误。 PHP中的函数名、方法名、类名不区分大小写,但建议与定义时 使用的名称相同。 另外,编写代码时有时需要输入中文字符,注意中英文字符的切 换,避免小括号、分号或者引号等出现的错误
常见的错误和异常 2、单引号和双引号 单引号和双引号,都可以用来创建字符串。但是必须同时使用单引号 或者双引号,否则就会认为是非法定义的字符串。双引号的内容可以 被解释而且替换,而单引号的内容总被认为是普通字符。 另外,缺少单引号也经常出现问题。运行时会出错 3、括号使用混乱 由于括号层次比较多,因此可能会导致括号不匹配的错误,如下 if(((sa==sb)and($b=sc) )and(Sc==sd) echo“正确使用括号的方法!";
常见的错误和异常 2、单引号和双引号 单引号和双引号,都可以用来创建字符串。但是必须同时使用单引号 或者双引号,否则就会认为是非法定义的字符串。双引号的内容可以 被解释而且替换,而单引号的内容总被认为是普通字符。 另外,缺少单引号也经常出现问题。运行时会出错。 3、括号使用混乱 由于括号层次比较多,因此可能会导致括号不匹配的错误,如下: if((($a==$b)and ($b=$c) )and ($c==$d){ echo “ 正确使用括号的方法!”; }
常见的错误和异常 4、等号与赋值符号混淆 等号与赋值符号混淆的错误一般出现在if语句中,而目这种错误在php中 不会产生错误信息,所以在査找错误的时候不容易发现。例如 (S=1) echo“没有找到相关信息!"; 5、缺少美元符号 PHP设置变量时要添加$,如果不添加美元符号就会引起解析错误,如 for($s=1;$s<=10;5++){ echo“缺少美元符号!"; }结果陷入无限循环状态
常见的错误和异常 4、等号与赋值符号混淆 等号与赋值符号混淆的错误一般出现在if语句中,而且这种错误在php中 不会产生错误信息,所以在查找错误的时候不容易发现。例如: if(s=1) echo “没有找到相关信息!”; 5、缺少美元符号 PHP设置变量时要添加$,如果不添加美元符号就会引起解析错误,如: for($s=1;$s<=10;s++){ echo “缺少美元符号!”; } 结果陷入无限循环状态
常见的错误和异常 6、调用不存在的常量和变量 调用没有声明的常量和变量,将会触发 NOTICE错误。 例如7-1ph 1日 Notice:Undefined variable: abba in C: lwamp64wwwl77-1-php on line 3 Call Stack Memorv Function Location 0.0006 35868{main}( 7-1php:0
常见的错误和异常 6、调用不存在的常量和变量 调用没有声明的常量和变量,将会触发NOTICE错误。 例如7-1.php
常见的错误和异常 7、调用不存在的文件 如果调用不存在的文件,程序将会停止运行。例如7-2.php )Warning: include(mybook txt): failed to open stream: No such file or directory in C: lwamp64lwwwl7 (7-2. php on line 2 Call Stack T Memory unction Location 0.0009 358600{main() 17-2php:0 Warning: include: Failed opening mybook. txt for inclusion (include path=; C: phppear')in C: lwamp64lwwwl7\7-2. php on line 2 Call Stack Time Memory unction Location 0.0009 358600()() \7-2.php: 0
常见的错误和异常 7、调用不存在的文件 如果调用不存在的文件,程序将会停止运行。例如7-2.php
常见的错误和异常 8、环境配置的错误 环境配置不当也会给运行带来错误,例如操作系统、PHP配置文 件和PHP的版本等,如果配置不正确,就会提示文件打不开、操 作权限不具备和服务器无法连接等错误信息。 ●高版本的PHP在一定程度上可以兼容低版本的,但是高版本的 PHP编写的程序运行到低版本中就会发生意想不到的问题
常见的错误和异常 8、环境配置的错误 环境配置不当也会给运行带来错误,例如操作系统、PHP配置文 件和PHP的版本等,如果配置不正确,就会提示文件打不开、操 作权限不具备和服务器无法连接等错误信息。 高版本的PHP在一定程度上可以兼容低版本的,但是高版本的 PHP编写的程序运行到低版本中就会发生意想不到的问题
常见的错误和异常 9、数据库服务器连接错误 PHP应用程序经常会对数据库进行操作,在操作数据库之前,需 要连接数据库服务,如果用户名或者密码设置不正确,或者数据 库不存在,或者数据库属性不允许访问,都会在程序运行中岀现 错误。 <?php 2Sconn-mysqli connect("localhost","root","root")i Warning: mysqli connectO: (HY000/1045): Access denied for user 'root'@'localhost(using password: ES)in C: wamp64www 7\7-3.php on line 2 Call Stack Time Memory Function Location 0.0010 358952mai( 17-3php:0 0.0011 359056mysqli connect() 17-3php:2
常见的错误和异常 9、数据库服务器连接错误 PHP应用程序经常会对数据库进行操作,在操作数据库之前,需 要连接数据库服务,如果用户名或者密码设置不正确,或者数据 库不存在,或者数据库属性不允许访问,都会在程序运行中出现 错误
错误处理 1、 php. ini中的错误处理机制 在以上实例中,错误提示会显示错误的信息,如错误文件的行号 等,这是PHP最基本的错误报告机制。phpn文件规定了错误的 显示方式,包括配置选项的名称、默认值和表述的含义等。首先 了解PHP报告错误的级别: 级别常量 错误报告描述 致命的运行时错误(它会阻止脚本的执行) E WARNING 运行时皆告(非致命的错课) E PARSE 从语法中解析错误 E NOTICE 运行时注意消息(可能是或者可能不是一个问题)
错误处理 1、php.ini中的错误处理机制 在以上实例中,错误提示会显示错误的信息,如错误文件的行号 等,这是PHP最基本的错误报告机制。php.ini文件规定了错误的 显示方式,包括配置选项的名称、默认值和表述的含义等。首先, 了解PHP报告错误的级别: