解析错误问题:语法错误,意外$end在internet explorer上


Issues with Parse error: syntax error, unexpected $end On internet explorer

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