PHP显示出错提示的三种方法
PHP在页面上显示出错消息并让用户看见是开发人员怎么样也不愿意面对的,但是谁都不想在一台没有配置成显示出错消息的服务器上用PHP开发代码。开发时显示PHP的错误消息对开发人员来说是个明智的选择,所谓工具是使人方便的,就是如此。
下面来说说显示PHP错误提示消息的三个方法。
一:php.ini配置
php.ini配置中与此相关的有两个配置变量。下面是这两个变量及其默认值:
以下是引用片段:
display_errors = Off
error_reporting = E_ALL & ~E_NOTICE
display_errors 变量的目的很明显 —— 它告诉PHP是否显示错误。默认值是 Off。现在我们的目的是显示错误提示,那么:
以下是引用片段:
display_errors = On
E_ALL,这个设置会显示从不良编码实践到无害提示到出错的所有信息。E_ALL 对于开发过程来说有点太细,因为它连变量未初始化也显示提示,而这一点正是PHP“高级”的一个特征。幸好,error_reporting的默认值是“E_ALL & ~E_NOTICE”,这样就只看到错误和不良编码了,对程序无不利的提示则不会显示。
修改php.ini后需要重新启动Apache,这样才可以在apache中生效,当然你如果只在命令行下测试程序,是不需要这一步的。
二:Apache的httpd.conf和.htaccess配置
如果要在.htaccess 文件中的指令来修改 PHP 的配置设定。需要有“AllowOverride Options”或“AllowOverride All”权限才可以。 请参见:AllowOverride 指令http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html#allowoverride
AllowOverride指令确定允许存在于.htaccess文件中的指令类型,它仅在不包含正则表达式的配置段中才是有效的。
如果此指令被设置为None ,那么.htaccess文件将被完全忽略。事实上,服务器根本不会读取.htaccess文件。
当此指令设置为 All时,所有具有".htaccess"作用域的指令都允许出现在.htaccess文件中。
例如以下指令只允许在.htaccess中使用AuthConfig和Indexes组的指令:
以下是引用片段:
AllowOverride AuthConfig Indexes
.htaccess里的设置和httpd.conf是一样的。
要在做在httpd.conf实现这一功能,需要把下列各行添加到 httpd.conf,以覆盖php.ini文件做出的配置:
以下是引用片段:
php_flag display_errors on
php_value error_reporting&n
相关文档:
header("Content-Type:text/html;charset=utf8"); 放到PHP开头处
$link=mysql_connect("localhost","root","110110");//链接
mysql_select_db("blog",$link);//选择数据库
mysql_query("SET character_set_results=gbk", $link);//字符编码 ......
//回车:[\n\r\t]
$reg="|typeid=\"(.*)\" onsel.*[\n\r\t]*<a href="\" mce_href="\""#\">(.*)</a>|";
preg_match_all ($reg,
$html,
$out, PREG_PATTERN_ORDER);
foreach ($out as $value){
foreach ($value as $value2){
if(strlen($value2)<20)
echo ($value2."<br>");
}
} ......
今天装了个Berkeley 5.0.21进行测试。
顺利编译了自带的php_db4模块后,进行测试。发现del操作报错:
illegal flag specified to DB->del
<?php
dl('db4.so');
$db = new Db4();
$db->open(null, 'info.db', 'info');
$db->put('key', 'value');
var_dump($db->del('key'));
$db->close();
$db ......
1 代理(Proxy)和委派(Delegate)的区别
http://hi.baidu.com/thinkinginlamp/blog/item/2297a7efcb52a31afdfa3cc2.html
2 开心农场架构介绍
http://www.javaeye.com/wiki/facebook/1766-five-minutes-happy-farm-structure-introduced
http://www.w2blog.net/view/455.html
3 SmugMug 的架构介绍
http://www.w2blo ......
<?php
//声明全局变量
$num = "张三";
//定义一个自定义方法
function my_fun($temp1,$temp2 = "people"){
//要数用方法外部声明的全局变量,必须使用关键字global先在
//自定义方法中获得到方法外部声明的全局变量的值,才能在方
......