PHP程序编译中常见错误信息分析及解释

PHP程序编译中常见错误信息分析及解释

ID:41567772

大小:55.70 KB

页数:3页

时间:2019-08-27

PHP程序编译中常见错误信息分析及解释_第1页
PHP程序编译中常见错误信息分析及解释_第2页
PHP程序编译中常见错误信息分析及解释_第3页
资源描述:

《PHP程序编译中常见错误信息分析及解释》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PHP程序编译中常见错误信息分析及解释.txt如果我穷得还剩下一碗饭我也会让你先吃饱全天下最好的东西都应该归我所有,包括你!!先说喜欢我能死啊?别闹,听话。有本事你就照顾好自己,不然就老老实实地让我來照顾你!我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的。这些错误通常会迷惑PHP编译器。如果开发人员无法了解编译器报错信息的含义,那么这些错谋信息不仅毫无用处,还会常常让人感到沮丧。编译PHP脚本时,PHP编译器会尽其所能报告它遇到的第一个问题。这样就产住一•个问题:只有当错误出现吋,PHP才能将它识别出来(本文后面对此问题进行了详细描述)。正是由丁这个缘故,编译器指出出错的那行

2、,从表血上看來可能语法正确无误,或者可能是根本就不存在的一行!更好地理解错谋信息可以人人节省确定并改正错谋内容所花费的时间。因此,在木文屮,我将努力阐明多种不同类型的PHP报错信息,以及在开发过程中如何匸确理解各种报错信息的含义。木文中所讲述的内容与您所应用的PHP的版本无关,因为本文所描述的各种错误并不限定于某一特殊版本的特定错谋。另外我们假定您是一位初级或者屮级程序员,并已经从事编程工作有半年或一年的吋间。编译器的工作方式要搞清楚编译器为什么会报告某一行上存在错谋,首先必须明确编译器解析PHP代码的机制。我并不打算在本文中対此进行详细论述,但是,我们将会讨论一些更易于引发错误的

3、简单概念。变罐声明如果在一条语句中声明一个变量,具体方式如下所示:$variable='value*;编译器首先求出语句右半部分的值(即等号右边的所有内容)。在一些编程书籍中,将此表示为语句的RHS(右半部分)。恰恰正是语句的这一部分常常会引发错误。如果使用的语法不正确,就会岀现解析错谋。解析错误Parseerror:解析错误,unexpectedTWHILEinc:Wprogramfiles\apachegroup\apache\htdocs\script.phpon1ine19每次确定了前一错误时,解析错课一个接一个地不断出现。因为PIIP在第一个解析错误之后就停止执行

4、脚本,调试并纠正这一•系列的错误往往会让人觉得特别厌烦。而解析错误具冇很少的信息,儿乎不报告错误所在的行号。具体原因就是当出现错误时,编译器判定好几行的语法看起来应该是侑效的,肓至遇到无效的语法,最可能的情形就是表达式中使用了预定义的字词,例如;wh订e=10;//Bad?while就是一个预定义字词,不能分配给一个值预定义的字词包括while、function等,如來PHP使用usestoevaluateyourcode.您不能使用这些预定义字词来命名变屋,而如果您非要这样做的话,PHP就会报出更多的错误,这是您无法忍受。关于这个问题,下血的示例可能会対您有所帮助。请咨询阅读一卞

5、下面所示的PHP代码:$b=somevalueif($b=somevalue){printHelloworld!;}?>错误位于$1)二-•行(在语句的末端缺少分号),所以错课应该是解析错误:笫3行缺少分号对吧?而不应该依据解析器判定的:Parseerror:parseerror,unexpectedT_TFinc:\programfiles\apachegroup\apache\htdocs\ereg2.phponline4在笫4行,if()语句的语法是正确的。那么,编译器是被什么给搞糊涂了呢?线索就是unexpectedT_IF部分。出现unexpectedT_???

6、错课时,它所表示的含义为:编译器发现在预定义字不应该出现的位置出现。T_1F代表if(),T.WH1LE代表whileO,T_FOR代表for()等。值得庆幸的是,一些错误的原因也很简单:语句没有使用分号(;)结束,比如上面的示例。字符串屮缺少引号。其他一些常见的错谋我见过的最常见的错误就是,当没冇使用大括号(})结束一个函数或者一个循环时出现的错误,这很可能是最常见,最让人烦的错误。具体代码如下:functionUselessFunction(){for($i<0;$i<10;$i++){}将产生下列错误:Parseerror:parseerror,unexpected$inc:

7、Wprogramfiles\apachegroup\apache\htdocs\ereg2.phponline9由于函数UselessFunction没有使用人括号(})来结束,PHP编译器不断杏找表示结束的大括号直至到达文件末尾为止。因为编译器未找到一个匹配的大括号,就会报告文件末尾处有错误。如果正确地反映了代码的层次结构,错误信息就会变得非常明显。如果没有标明代码的层次结构,那么最后耍想查清楚到底忘记了什么也会变得几乎是不可能的。所以,请记住,一定要标明代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。