エラー発生
状態:-
閲覧数:1,589
投稿日:2016-03-18
更新日:2016-03-18
Parse error: syntax error, unexpected end of file
エラー内容
解析エラー:構文エラー、予期しないファイルの終わり
・{}の数が合わない、など
・ファイルの最後まで読み進んでもなお、{}の数が合わなかったため(閉じられていなかった等)、エラーメッセージを表示
注意点
エラーメッセージの最後に示されている行番号は、間違いがある場所を示しているわけではない
・その行近辺だけを探していてもエラー原因を把握できない
エラー対応
最後に編集した箇所を探す
・エディタに同機能が搭載されている場合は、活用
ずっと以前からこのエラーが発生していた場合は?
・1行1行確認していくしかない
まとめると?
・このエラーメッセージが表示された直後ならすぐに原因を特定可能
・時間を経過する度に発見は困難(面倒)になっていく
実際に遭遇した例
エラー発生
Parse error: syntax error, unexpected end of file
指定行
・確認するも原因を特定できない
最後に編集した箇所
・関係ない
・「指定ファイル」を、今日は一度も開いていないから
対応
以前のファイルで上書き
・数日前のファイルを探し出し、上書きしたところ、無事正常表示された
原因特定
差分表示ソフト Rekisa 使用
▼以前のファイル
$curr_hits = array_sum( $curr_data['yr'] );
$prev_hits = array_sum( $prev_data['yr'] );
▼エラー発生ファイル
// echo "<pre>";
// var_dump($curr_data);
// echo "</pre>";
//if (array_key_exists( 'yr',$curr_data)) {
$curr_hits = array_sum( $curr_data['yr'] );
//}
if (array_key_exists( 'yr',$prev_data)) {
$prev_hits = array_sum( $prev_data['yr'] );
//}
原因判明
{}の数が合わない
・デバッグ終了後のコメントアウト処理が適当過ぎる
・最終的に if (array_key_exists( 'yr',$prev_data){} 処理は不要と判明したので戻そうとしたのだが…
教訓
・不要な処理はコメントアウトではなく、削除
・どうしてもコメントアウトするときは、よく確認してからにして!