PHP Parse Error: syntax error, unexpected $end 错误的解决办法

yipeiwu_com6年前PHP代码库
这几天写php程序,感觉很多地方不如asp,asp.Net,jsp顺手,比如session使用先得session_start();,文件跳转header用的也不方便....

也许是不熟悉的php的一些特性吧,不过写多了,也就慢慢适应将就了.....

这里就整理一个代码编写调试问题,错误如下:

Parse error: syntax error, unexpected $end in D:\xampp\htdocs\guestBook\guestBook.php on line 330

看看程序 330行,代码最后一行,这有什么错误?google搜,找到了:

In PHP 5, the following error may appears as an error entry in Apache error log or simply displays on PHP web page, even if calling to php scripts with php_info() works perfectly and successfully returns information on PHP configurations:

Parse Error: syntax error, unexpected $end in ….. scripts.php on line …

The error may caused by a missing curly bracket in PHP script coding. Beside, it may also caused by error in PHP coding in class definition, as in PHP, a class definition cannot be broke up and distributed into multiple files, or into multiple PHP blocks, unless the break is within a method declaration.

But more commonly, the error is often caused by the use of Short Open tags in PHP,

To use short open tags, it must be enabled in PHP.INI. Search for short_open_tag in PHP.INI, and change the value to On. The line should look line:

short_open_tag = On

欺我英文不好啊?看看其它几条搜索,都没说到点子上,那就看看英文了,虽不能如数翻译,大致意思是瞧明白了:

错误发生是使用了短标签,可以在php.ini中设置short_open_tag = On

原来Parse error 提示一般是 语法错误,使用了开放的标签,语句没有结束 也就是编程基本的一些错, 比如没注意 语句结束加 ";" 或者 if(){...} 后面忘了"}" ;<?php...?>忘了"?>"。仔细检查代码,果然是一处漏掉了"}",修改程序正常运行

相关文章

关于php程序报date()警告的处理(date_default_timezone_set)

在写php程序中有时会出现这样的警告: PHP Warning: date(): It is not safe to rely on the system's timezone sett...

解决PHP4.0 和 PHP5.0类构造函数的兼容问题

在 PHP5.0 以上版本里,还兼容了 4.0 版本的构造函数的定义规则。如果同时定义了4.0的构造函数和 __construct()函数,则__construct() 函数优先。为了使...

php延迟静态绑定实例分析

本文实例讲述了php延迟静态绑定的方法。分享给大家供大家参考。具体分析如下: php延迟静态绑定:指类的self,不是以定义时为准,而是以计算时的运行结果为准。先看一个实例 <...

PHP中if和or运行效率对比

本文实例讲述了PHP中if和or运行效率对比。分享给大家供大家参考。具体实现方法如下: 对if和or的运行效率进行了实例说明,感兴趣的朋友可以测试一下,这里我测试了的结果是or 比if效...

PHP计算近1年的所有月份

PHP计算近1年的所有月份

话不多说,请看代码:  $z = date('Y-m'); $a = date('Y-m', strtotime('-12 months')); $begin = new...