PHP Parse error: syntax error, unexpected ‘;’ in 问题解决

2012年7月10日 由 Amon

昨晚调试程序,遭遇了使用短标签导致PHP程序不执行直接输出源码的错误。我只是直接把<? 改成 <?php。但是程序依然有错误,error.log中显示:

PHP Parse error: syntax error, unexpected ‘;’ in /var/www/complete.php on line 25


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



short_open_tag = On


Parse error 提示一般是 语法错误,使用了开放的标签,语句没有结束。比如没注意语句结束加 “;” 或者 if(){…} 后面忘了”}” ;<?php…?>忘了”?>”。