大家メモ/MAMP/MAMP環境でのPHPエラー表示 http://www.ark-web.jp/sandbox/design/wiki/300.html

大家メモ/MAMP/MAMP環境でのPHPエラー表示

大家メモ/MAMP/MAMP環境でのPHPエラー表示
[edit]

MAMP環境でのPHPエラー表示

[edit]

目次

[edit]

phpinfo関数でMAMP環境での設定確認

MAMPのバージョンにより設定に差異があるため、まずは現状の設定を確認するためphpinfo関数を記述したphpファイルを用意します。

<?php
phpinfo();
?>

上記の内容を記述したphpファイルを仮にphp_test.phpとし、MAMPの環境下へ配置し表示させてみます。

例として、

で設定した「project001」ディレクトリ直下へ配置し、ブラウザにて

http://localhost:8001/php_test.php

でアクセスすると、以下のような情報が確認できます。

img_phpinfo.gif

今回はその中の「error_log」「display_errors」の項目を確認してみましょう。

[edit]

php.iniのerror_log、display_errors項目の設定確認

MAMP バージョン1.7.1で「error_log」の項目を確認してみると、

img_error_log.gif

と表示されているので有効となっており、エラーのログは溜まるようになっているようです。

次に「display_errors」の項目を確認してみると、

img_display_error_off.gif

のように表示されているため、「display_errors」は無効となっているようです。
試しに先ほど設定確認用に作成した「php_test.php」の内容をわざと間違えた内容にし、「php_test2.php」とします。

<? php  // わざとスペースを入れてみました
phpinfo();
?>

このファイルを確認するため、ブラウザで

http://localhost:8001/php_test2.php

にアクセスしてみます。

すると「display_errors」が無効となっているため、エラーがあってもブラウザ画面には何も表示されず、修正時の手助けとなるエラーが表示されません。

MAMPのデフォルトで無効となっている理由としては、「display_errors」の設定を記述してあるphp.iniファイルにも記述してあるようですが、

; Print out errors (as a part of the output). For production web sites,

; you're strongly encouraged to turn this feature off, and use error logging

; instead (see below). Keeping display_errors enabled on a production web site

; may reveal security information to end users, such as file paths on your Web

; server, your database schema or other information.

つまり

http://jp2.php.net/manual/ja/errorfunc.configuration.php#ini.display-errors

開発をサポートする仕組みであり、本番のシステムでは使用すべきではありません

ということのようです。

しかし、この連載ではMAMPはあくまでローカルの開発環境として利用することを想定しているので、エラーが表示されるほうが今後何かと便利です。

そこで以下の方法でPHPのエラーが表示されるよう設定をします。

[edit]

php.iniファイルにてdisplay_errorsを有効化

php.iniファイルの記述を書き換えMAMP環境内でPHPエラーの表示を有効にするため、

/Applications/MAMP/conf/php5/php.ini

のファイルの記述から「display_errors」の設定に記述されている箇所を修正します。

php.iniのPATH(場所)は上記のphpinfoにて確認できます。

デフォルトでは

display_errors = Off

となっていますので

display_errors = On

と書き換えます。
念のため一度MAMPを再起動してから、先ほどわざと記述の間違いをしたファイル

http://localhost:8001/php_test2.php

を表示してみましょう。

img_php_error.gif

今度はエラーが表示され、原因として考えられる箇所も指摘してくれました。

念のため

http://localhost:8001/php_test.php

にアクセスし、現在の設定を確認してみましょう

img_display_error_on.gif

「display_errors」が有効になっていることが確認できました。

これで今後MAMP環境下でもPHPのエラーが表示されるようになり、エラー箇所を特定しやすくなるかと思います。

[edit]

関連記事

[edit]

参考記事

投稿者大家? | パーマリンク

| append.gif

添付ファイル: fileimg_display_error_off.gif 1071件 [詳細] fileimg_display_error_on.gif 2727件 [詳細] fileimg_php_error.gif 2795件 [詳細] fileimg_error_log.gif 2818件 [詳細] fileimg_phpinfo.gif 1024件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-07-11 (土) 12:13:24 (3504d)

アークウェブのサービスやソリューションはこちら