Parse错误的问题:语法错误,意外$ end在Internet Explorer上

时间:2012-07-12 19:46:04

标签: php 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
            }
        }
    ?>

如果您想查看没有截止的代码,请转到here

非常感谢。

服务器配置:

  • 操作系统: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

如果我故意在该代码的最后一行添加一个封闭的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上,页面也能完美呈现,所以这对我来说没有多大意义。

1 个答案:

答案 0 :(得分:1)

问题在于IE,它保留旧页面的缓存版本,而不调用应用程序。

正在开发中的

建议发送此标题

Cache-Control: no-cache