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
}
}
?>
如果你想看到没有截止的代码,请点击此处
非常感谢。
服务器配置:
- 操作系统:windows 7 x64
- ApacheFriends XAMPP版本1.7.7:
- Apache 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中的最后一行代码中添加一个关闭的bracer,则如下所示:
[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上,页面也能完美加载,所以这对我来说没有多大意义
问题取决于IE,它保留旧页面的缓存版本,而不调用应用程序。
正在开发中的建议发送此标头
Cache-Control: no-cache