Internet Explorer显示以下经典错误:
Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\obg001\tpl\chooseStart.tpl.php on line 133
这大多数情况下都是缺失的bracer,但有两件事我完全不理解:
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
}
}
?>
如果您想查看没有截止的代码,请转到here
非常感谢。
服务器配置:
更新:
如果我弄错了,我的php.ini应记录所有内容:
error_reporting = E_ALL | E_STRICT
display_errors = On
log_errors = On
error_log = "\xampplite\php\logs\php_error_log"
此外,该项目仅由我自己创建和编码,所以我确信没有一个指令不记录任何包含中的错误。
更新2
如果我故意在该代码的最后一行添加一个封闭的bracer,我会在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上,页面也能完美呈现,所以这对我来说没有多大意义。
答案 0 :(得分:1)
问题在于IE,它保留旧页面的缓存版本,而不调用应用程序。
正在开发中的建议发送此标题
Cache-Control: no-cache