Dream Maker 老漂 不要有和人斗的心,你要赢的是你自己!

PHP syntax error, unexpected $end 错误的一种原因及解决

PHP 遇到 syntax error, unexpected $end 错误时,查错思路其实还是看看文件里 PHP 的开始标记和结束标记是否配对,还要额外注意注释里是否出现过 ?> 哟。
Parse error: syntax error, unexpected $end in script.php on line xx 
调试了一会后发现产生错误的行是文件中间某行 
//$str .= "?>\n"; 
想起来了 PHP 解释器允许的结尾标记那行还可以用单行注释,即 //$str .= "?>\n"; 被解释成结尾标记前有注释,注释的内容是 //$str .= ",而 ?> 后面的 \n"; 会被解释作 PHP 块外的内容按 HTML 输出出去!结果是给 $str .= "?>\n"; 这行添加 // 成注释后,反而多了个 ?> 的结束标记,造成原来真正的结束标记成了意料之外的(unexpected)了。 
解决办法就是直接删掉这一行即可。 
PHP 开始和结束标记所在行别写其它东西,是个好习惯。
另外对于EOT定界符,最后的结束标记一定要定格写,否则也会提示“Parse error: syntax error, unexpected $end in D:\php\phpMake\wamp\www\ajax.php on line 38”;
另外,就我个人经验来看,先看html页面里的标记是否对称,然后再去检查PHP代码里标记对称与否!

Tags: php

发布: 老漂 分类: 网站|站长 评论: 0 浏览: 59
留言列表
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。