「エラーメッセージ」のアーカイブ

Unexpected

想定外の変数/定数/関数/オブジェクト等が見つかった場合に表示されるエラーメッセージ。Parse error: syntax error, unexpected T_STRING、Parse error: syntax error, unexpected T_VARIABLE、Parse error: syntax error, unexpected T_FUNCTION 等と表示される。

この場合、括弧の綴じ忘れ等のことも多いが、必要とされるモジュール等の不足、PHP バージョンの差異等が原因のこともある。ショートオープンタグの利用可否に依存しているケースもある。

環境により出たり出なかったりする場合は、PHP のバージョンや php.ini の設定、phpinfo() の情報等を比較すると、解決の糸口が見つかるかもしれない。

Deprecated

将来動作しなくなる(廃止予定)の関数等を使用している場合に表示される警告メッセージ。PHP5.3 で、E_DEPRECATED というエラーレベルが追加された。

PHP4 互換のスクリプトや、等では多くのコードが引っかかるようである。また、ereg() が deprecated となるようなので、preg_match() を使うのが好ましい。

なお、php.ini で
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
とすればエラー表示はされないが、本質的に解決するわけではない。スクリプトの修正/更新を早急にすべきであろう。

画面が真っ白

ブラウザ画面が真っ白になることがあります。何らかのエラーが発生していることが多いですが、様々な理由(下記参照)が考えられるため、エラーメッセージを確認すべきです。

  • スクリプトにエラーがある
  • PHP バージョンの違い
  • ライブラリ等の不足
  • セーフモードによる制限

エラーメッセージがブラウザに表示されない場合、エラーログファイルに保存される設定になっていることが多いです。エラーログファイルを閲覧すると、具体的なエラー内容が分かるはずです。

なお、ログファイルの場所は、サーバーにょって異なることがあります。お使いのサーバーの設定マニュアル等を参考にしてください。