[虚拟主机]PHP Parse Error: syntax error, unexpected $end 的解决方法

jackxiang 2014-4-22 22:30 | |
背景:在虚拟主机域名里安装dokuwiki,出现:Parse error: syntax error, unexpected $end, expecting ',' or ';' in /home/jackxiang/domains/jackxiang.com/public_html/wiki/inc/html.php on line 1082  ,但是自己的测试机用的apache里没有这个问题,Nginx下也没有这个问题,查了下,原来是虚拟主机没有打开:short_open_tag:short_open_tag  On  On 。
PHP报错:Parse error: syntax error, unexpected $end, expecting T_FUNCTION in...
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.



首先要检查是不是缺少了PHP脚本的结束标记, "?>" 或者缺少了 ";"或者是“}”;还有一个原因是一个PHP类的代码不能在多个文件或者多个PHP块。
原来Parse error 提示一般是 语法错误,使用了开放的标签,语句没有结束 也就是编程基本的一些错, 比如没注意 语句结束加 ";" 或者 if(){...} 后面忘了"}"  ;〈?php...?〉忘了“?〉”。仔细检查代码,果然是一处漏掉了“}”,修改程序正常运行.
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中开启短标签,设置方法是打开php.ini,找到short_open_tag = Off,修改为short_open_tag = On。
short_open_tag  On  On
来自:http://hi.baidu.com/luoziding/item/e34dc12d25c0ba9fb6326369

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/7152/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2014-4-22 22:32
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]