PHP常见错误

上一次总结的不是很详细,这次再试着总结一下php的错误

1、语法错误

Parse error: syntax error, unexpected T_VARIABLE in E:\gstbook\user.php on line 268

一般是少分号,在上一行或者下一行都有可能
Parse error: syntax error, unexpected '.' in F:\www\blog\article.php on line 100

多个“.”,类似的还有多个“;”等等

Notice: Undefined variable: a in ... 使用了一个没有被定义的变量a

Parse error: syntax error, unexpected T_ELSE in

if else if else 句式逻辑错误

Parse error: syntax error, unexpected $end in 一般是大括号不匹配

Parse error: syntax error, unexpected T_STRING in 一般是忘了写句末分号

Parse error: syntax error, unexpected T_PRIVATE in 一般是private函数位置写到了调用自己函数的内部

Warning: Invalid argument supplied for foreach() in foreach 的第一个参数必须是一个数组

Warning: Wrong parameter count for a in 函数参数个数不对

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at F:\www\blog\index.php:10) in F:\www\blog\incl?s\config.inc.php on line 10
Warning: annot modify header information - headers already sent by (output started at F:\www\blog\index.php:10) in F:\www\blog\incl?s\config.inc.php on line 12
session前面不能有输出,同意的cookie也是这样的

Fatal error: Cannot redeclare 函数已经定义过,不能重新再定义;类也不能同名

2、SQL语句错误

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in 说明前面执行SQL 返回失败,一般可能是SQL语句错误 ,如分析不出来,可以Mysql_error () 看具体是哪个地方错了

No database selected 一般是没有连接数据库

Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘root’@'localhost’ (using password: YES) in ….. on line 3Access denied for user ‘root’@'localhost’ (using password: YES) 数据库用户名的密码错误

Unknown database ‘cms07261′ 数据库不存在

Table ‘cms0726.test’ doesn’t exist 表不存在

Unknown column ‘abc’ in ‘field list’ 字段不存在

Column count doesn’t match val count at row 1 sql语句中 字段值的个数比字段名个数不一样

3、模板错误
Fatal error: Smarty error: [in message_list.html line 22]: syntax error: ‘foreach: item’ must be a variable name (literal string) foreach 后面的item 后面必须跟一个变量名,不加$,是一个字符串

Fatal error: Smarty error: [in admin/tpl/class_detail.html line 14]: syntax error: unrecognized tag: cs.st?nt_id (Smarty_Compiler.class.php, line 436) in D:\www\web\xmphp\inc\smarty\Smarty.class.php on line 1088 smarty语法错误:循环数组的时候,少$

Warning: Smarty error: unable to read resource: “message_list1.html” in 模板文件找不到,看是否是文件名写错或文件存放到别的目录中去了。

Fatal error: Smarty error: [in order_detail.html line 171]: syntax error: unclosed tag \{elseif} (opened line 157). (Smarty_Compiler.class.php, line 317) in F:\www\gstbook\xmphp\inc\smarty\Smarty.class.php on line 1088 html页面语法错误,少结束标签<%/if%> 

Fatal error: Call-time pass-by-reference has been removed in  PHP在升级到5.4版本的php可能会出现这种错误:

如果这样使用函数(或者类)的话,会产生一个 PHP Fatal error:
foo(&$var);
实际上,这样用法在php5.3中就会有提示,只是之前的仅仅会提示Deprecated而已。

// 正确写法  
function myFunc(&$arg) { do something... }  
   
myFunc($var);//Call myFunc  
   
//错误写法  
function myFunc($arg) { do something... }  
   
myFunc(&$arg);//Call myFunc  

附上PHP错误报表:

序号代码错误报告

1 error_reporting(Integer) 此设置是每个脚本默认错误报告设置。它的参数可以是这里列出的任意常量,表示所有错误的E_ALL或者类似E_ALL&E_NOTICE的一个逻辑表达式。
2 display_error(Boolean) 此设置控制错误是否作为PHP输出的一部分显示出来,默认设置是on。
3 display_startup_errors(Boolean) 此设置控制在PHP启动时是否显示错误,默认设置是off,而且是用来调试C扩展。
4 error_prepend_string(String) 这个字符串在浏览器中显示错误信息之前直接显示出来。
5 track_errors(Boolean) 当这个设置开启时,一旦一个错误出现,变量$php_errormsg在PHP作用域中被定义。这个变量包含错误信息。
6 html_errors(Boolean) 此设置控制是否在错误信息中采用HTML格式。默认情况下显示的是HTML错误,CLI版本的PHP除外。
7 xmlrpc_erroes(Boolean) 此设置控制错误信息是否启用作为XML-RPC故障显示。
8 xmlrpc_error_number(Integer) 这个XML-RPC故障代码是启用xmlrpc_errors时使用的。
9 log_errors(Boolean) 此设置控制错误是否记录。日志的地址是通过error_log设置决定的。默认情况下,错误被记录到Web服务器的错误日志中。
10 log_error_max_len(Integer) 此设置是当启用log_errors时控制记录的错误信息的最大长度。超过这个长度的信息也会被记录下来,但是会被截断。
11 error_log(String) 此设置决定错误记录的地方。在默认情况下,它们被传送到Web服务器的错误记录机制中,但必须指定一个文件名,或者指定Syslog让系统日志来记录。
12 ignore_report_errors(Boolean) 当启用它时,这个设置让PHP不在同一行中重复显示一样的错误信息。

2 、PHP错误是通过错误级别进行划分的,范围从通告到严重错误,这个错误级别报告错误的严重性。大部分错误可以用常用的错误处理器来获取,但其中一些则不可恢复。

PHP错误级别表

序号 错误代码 错误级别
1 E_ERROR 严重错误,不可恢复。例如内存不足、位置异常或类重复声明错误
2 E_WARNING 一个经常发生的错误类型。表示一些操作错误。例如丢失函数参数,连接数据库失败,除数为0等错误。
3 E_PARSE 编译时发生的解析错误,会导致在PHP执行前退出。意味着如果一个文件因为解析错误运行失败,程序将停止运行。
4 E_STRICT 错误级别是唯一不包含在E_ALL常量中。这是为了让PHP4到PHP5的迁移更加容易;你可以在PHP5软件系统中运行PHP4代码。
5 E_NOTICE 运行代码在操作一些未知的动作,例如读取为定义的变量。
6 E_CORE_ERROR 内部错误,扩展启动失败导致的,会导致PHP运行退出。
7 E_COMPILE_ERROR 编译错误,与E_PARSE不同,这个错误会导致PHP运行退出。
8 E_WARNING_ERROR 编译时的警告,可能是使用者发生语法错误。
9 E_USER_ERROR 用户定义错误导致PHP退出执行。用户定义错误(E_USER_*)不是来自PHP本身,而是包含在脚本中。
10 E_USER_WARNING 用户定义错误不会导致PHP退出执行。脚本可以使用它来通知一个执行失败,执行失败PHP也会用E_WARNING来通知。
11 E_USER_NOTICE 用户定义的通告可以用来在脚本中可能存在错误。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • echo输出数组报错,要输出字符串 (1)php的路径不要有中文,会发生致命错误 (2)出现这个错误,说明前一句的...
    西兰花伟大炮阅读 235评论 0 0
  • Getting Started Use the Current Stable Version (7.1) Buil...
    Leonzai阅读 1,906评论 0 3
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,617评论 0 3
  • 简介 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样...
    零一间阅读 604评论 0 2
  • 不知道做什么? 我是不是可以买把尤克里里学着弹下? 我是不是可以多看看书,大文豪,小作家的都行? 我是不是可以学着...
    扑倒个猫咪阅读 137评论 0 0