PHP 错误处理
在 PHP 中,默认的错误处理很简单。一条消息会被发送到浏览器,这条消息带有文件名、行号以及一条描述错误的消息。
PHP 错误处理
在创建脚本和 web 应用程序时,错误处理是一个重要的部分。如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。
本教程介绍了 PHP 中一些最为重要的错误检测方法。
我们将为您讲解不同的错误处理方法:
简单的 "die()" 语句
自定义错误和错误触发器
错误报告
基本的错误处理:使用 die() 函数
第一个例子展示了一个打开文本文件的简单脚本:
<?php
$file=fopen("welcome.txt","r");
?>
如果文件不存在,您会获得类似这样的错误:
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:\webfolder\test.php on line 2
为了避免用户获得类似上面的错误消息,我们在访问文件之前检测该文件是否存在:
<?php
if(!file_exists("welcome.txt"))
{
die("File not found");
}
else
{
$file=fopen("welcome.txt","r");
}
?>
现在,假如文件不存在,您会得到类似这样的错误消息:
File not found
比起之前的代码,上面的代码更有效,这是由于它采用了一个简单的错误处理机制在错误之后终止了脚本。
不过,简单地终止脚本并不总是恰当的方式。让我们研究一下用于处理错误的备选的 PHP 函数。
创建自定义错误处理器
创建一个自定义的错误处理器非常简单。我们很简单地创建了一个专用函数,可以在 PHP 中发生错误时调用该函数。
该函数必须有能力处理至少两个参数 (error level 和 error message),但是可以接受最多五个参数(可选的:file, line-number 以及 error context):
语法
error_function(error_level,error_message,
error_file,error_line,error_context)
参数描述
error_level
必需。为用户定义的错误规定错误报告级别。必须是一个值数。
参见下面的表格:错误报告级别。
error_message
必需。为用户定义的错误规定错误消息。
error_file
可选。规定错误在其中发生的文件名。
error_line
可选。规定错误发生的行号。
error_context
可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。
错误报告级别
这些错误报告级别是错误处理程序旨在处理的错误的不同的类型:
值常量描述
2
E_WARNING
非致命的 run-time 错误。不暂停脚本执行。
8
相关文档:
Apache Httpd PHP环境搭建
1、安装Apache服务器
2、修改httpd.conf 中 ServerName localhost:9080 和Listen 9080
3、安装PHP5,类型选择Apache2.*,选择Apache配置文件目录。
4、修改httpd.conf中PHP5增加的配置为如果内容:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
& ......
1. Joomla!
2007年开源cms第一名!Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在 Linux、Windows、MacOSX等各种不同的平台上执行。操作接口除了美观之外,也花了很多心力在设计这些接口的简易操作性。但初次使用者,需 ......
声明,我用的PHP框架是CI(codeignitor),但其实因为是用JS调用FCKeditor的,所以这个和框架没有关系
首先下载FCKeditor 2.6.3 (我使用的是这个版本)
可以在CSDN中下载
解压,将FCKeditor2.6.3下面的fckeditor整个文件夹复制到网站根目录(和index.php)同一个目录,并更名为fck(不改名也行,但后面设置根路径的时候 ......
今天搞了一下午,在电脑上搭建了APM平台
系统:Windows7 Professional EN
Apache2.2.9:http://archive.apache.org/dist/httpd/binaries/win32/apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi
PHP5.3.1:http://windows.php.net/downloads/releases/php-5.3.1-Win32-VC6-x86.zip
MySQL5.1.42:http://ftp.iij.ad.jp/pub/db/ ......