PHP中对于错误信息的提示配置及其含义和解决错误的方法

来源:互联网 发布:网管软件破解 编辑:程序博客网 时间:2024/05/16 09:05

 

《PHP中对于错误信息的提示配置,并明确不同的错误提示的含义?》


在你PHP的最上方写上
 
error_reporting(E_ALL);
 
就会显示错误信息了

display_errors = off/on 关闭/打开错误提示信息


1、Notice: Undefined variable:  变量名in
注:使用了一个没有被定义的变量
2、Parse error: syntax error, unexpected T_ELSE in 
If () {
}Else if () {
}
Echo $test;
Else {
}
注:是if else if  else 句式错误
3、Parse error: syntax error, unexpected $end in D
注:一般是大括号不匹配
4、Parse error: syntax error, unexpected T_STRING in
注:一般是忘了写句末分号
5、Warning: Invalid argument supplied for foreach() in
注:foreach 的第一个参数必须是一个数组
6、Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
注:这说明前面执行SQL 返回失败,一般可能是SQL语句 错误 ,如分析 不出来,刚可以打印出Mysql_error (); 看具体是哪个地方错了
7、No database selected
注:一般是没有连接数据库
8、Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘root’@'localhost’(using password: YES) in  …..   on line 3
Access denied for user ‘root’@'localhost’ (using password: YES)
注:数据库用户名密码错
9、Unknown database ‘cms07261′
注:没有这个数据库
10、Table ‘cms0726.test’doesn’t exist
注:表不存在
11、Unknown column ‘abc’in ‘field list’
注:字段不存在
12、Column count doesn’t match value count at row 1
注:sql语句中 字段值的个数比字段名个数不一样
13、Warning: Wrong parameter count for 函数名in 
注:函数对数个数 少了
14、Fatal error: Smarty error: [in message_list.html line 22]: syntax error: ‘foreach: item’must be a variable name (literal string) 
注:看行号,说明foreach 后面的item 后面必须跟一个变量名,不加$,是一个字符串(注:没有单双引)
15、Fatal error: Smarty error: [in message_list.html line 24]: syntax error: unrecognized tag: msg.message_id 
注:模板中 变量前缺少$
16、
Warning: Smarty error: unable to read resource: “message_list1.html” in
注:模板文件找不到,看是否是文件名写错或文件存放到别的目录中去了。
17、Fatal error: Cannot redeclare get_sort1() (previously declared in

注:函数已经定义过, 不能重新再定义


《如果需要在PHP页面设置某个错误信息不显示,该怎么处理?》

1. 打开php.ini文件。
以我的ubuntu为例,这个文件在: /etc/php5/apache2 目录下。

2. 搜索并修改下行,把Off值改成On
display_errors = Off

3. 搜索下行  
error_reporting = E_ALL & ~E_NOTICE
或者搜索:
error_reporting = E_ALL & ~E_DEPRECATED
修改为
error_reporting = E_ALL | E_STRICT

4. 修改Apache的 httpd.conf,
以我的 Ubuntu 为例, 这个文件在:/etc/apache2/  目录下,这是一个空白文件。
添加以下两行:
php_flag display_errors    on
php_value error_reporting   2039

5. 重启Apache,就OK了。
重启命令: :sudo /etc/init.d/apache2 restart


0 0