ブラウザーに表示されないからといって正常に動いているとは限りません。
PHPのエラーには5種類あります
■EERROR / Fatal
実行不可能部分で処理停止、白紙画面
■EWARNING / Warning
警告、実行時に問題発生するが処理は継続
■EPARSE / Parse
解析不能、処理自体が始まらない、白紙画面
■ENOTICE / Notice
通知、問題になりうる箇所があるが、処理は継続
■ESTRICT / EDEPRECATED (PHP5.0から)
バージョン間の互換性に関するエラー
このように分類になっている。
上から順にどんなときに起こるかと言うと
■E
ERROR
呼び出す関数名が間違っていたり、外部のモジュールがエラーの場合
■EWARNING
実行した処理が失敗した場合や、参照先が参照できなかった場合
■E
PARCE
構文エラー、閉じ忘れやセミコロン忘れ
■ENOTICE
未定義の変数を使用したり、関数の引数がおかしい場合
■E
STRICT
将来廃止される機能を使ったりPHP3の文法をPHP5で利用した場合
細かい原因はあげればもっとあるけど、この中で対処しないといけないのは白紙画面になってしまうEERRORとE
PARSEではもちろんあるんだけど
ENOTICEなどの潜在的なものも出来る限りつぶしておく必要がある。
これはエラーにはならないが脆弱性の元になる可能性があるからだ。
初期化されていないものや、想定外の値が入ったりと考えればキリが無い。
httpdのerrorログに記録されるが、そういったものが見れない場合でもPHPに
error_reporting(-1);
と記述することでエラーを全て表示させることが出来るので、正常に動いてるように見えるものでも、エラーについては確認しておくことを強く推奨します。
PHP