Internet Explorer で次のような古典的なエラーが表示
Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\obg001\tpl\chooseStart.tpl.php on line 133
されます: ほとんどの場合、ブレイサーが見つからないというエラーですが、完全には理解できないことが 2 つあります。
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"
また、プロジェクトは私自身によって作成およびコーディングされているため、インクルードのエラーをログに記録しないというディレクティブは 1 つもないと確信しています。
更新 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 でも完全に読み込まれることを付け加えることができるので、これはあまり意味がありません。