Internet Explorer 显示以下经典错误:
Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\obg001\tpl\chooseStart.tpl.php on line 133
这通常是缺少护腕,但是有两件事我不完全理解:
1.- php_error_log 没有报告任何错误
2.- 错误只出现在 IE
我自己没有发现任何丢失的护腕。除了括号之外几乎没有其他任何内容的代码是:
<?php
if ($_SESSION['game']['status']=='OPEN'){
?>
<?php
foreach($gamers as $gamer){
}
?>
<?php
}else{
?>
<?php
foreach($gamers as $gamer){
}
}
?>
<?php
if($_SESSION['game']['status']=='CHOOSING'){
?>
<?php
}
else if ($_SESSION['game']['status']=='DONECHOOSING'){
?>
<?php
}
else if ($_SESSION['game']['status']=='ROLLING'){
?>
<?php
if ($canRoll['result']==true){
?>
<?php
}else{
?>
<?php ?>
<?php
}
?>
<?php
}else if ($_SESSION['game']['status']=='DONEROLLING'){
if($_SESSION['game']['userId'] == $_SESSION['user']['userId']){
?>
<?php
}
}else {
if($_SESSION['game']['userId'] == $_SESSION['user']['userId']){
?>
<?php
}
}
?>
如果您想查看没有截止的代码,请转到此处
非常感谢你。
服务器配置:
- 操作系统:windows 7 x64
- ApacheFriends XAMPP 1.7.7 版:
- 阿帕奇 2.2.21
- MySQL 5.5.16(社区服务器)
- PHP 5.3.8 (VC9 X86 32 位线程安全) + PEAR
- php.ini
更新:
如果我得到它正确我的 php.ini 应该记录一切:
error_reporting = E_ALL | E_STRICT
display_errors = On
log_errors = On
error_log = "\xampplite\php\logs\php_error_log"
此外,该项目过去和现在都是由我自己创建和编码的,所以我确信没有一个指令不记录任何包含中的错误。
更新 2
如果我故意在该代码的最后一行添加一个结束括号,我会在 php_error_log 中得到以下行:
[12-Jul-2012 22:23:30] PHP Parse error: syntax error, unexpected '}' in C:\xampplite\htdocs\obg001\tpl\chooseStart.tpl.php on line 139
所以PHP毕竟是登录解析错误,这应该在IE加载页面时发生,而它又没有。
我终于可以补充一点,即使在 iPad 上,页面也能完美加载,所以这对我来说没有多大意义。