大家メモ/MAMP/MAMP環境でのPHPエラー表示 http://www.ark-web.jp/sandbox/design/wiki/300.html
大家メモ/MAMP/MAMP環境でのPHPエラー表示MAMP環境でのPHPエラー表示 †
目次 †
phpinfo関数でMAMP環境での設定確認 †
MAMPのバージョンにより設定に差異があるため、まずは現状の設定を確認するためphpinfo関数を記述したphpファイルを用意します。
<?php phpinfo(); ?>
上記の内容を記述したphpファイルを仮にphp_test.phpとし、MAMPの環境下へ配置し表示させてみます。
例として、
で設定した「project001」ディレクトリ直下へ配置し、ブラウザにて
http://localhost:8001/php_test.php
でアクセスすると、以下のような情報が確認できます。
今回はその中の「error_log」「display_errors」の項目を確認してみましょう。
php.iniのerror_log、display_errors項目の設定確認 †
MAMP バージョン1.7.1で「error_log」の項目を確認してみると、
と表示されているので有効となっており、エラーのログは溜まるようになっているようです。
次に「display_errors」の項目を確認してみると、
のように表示されているため、「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のエラーが表示されるよう設定をします。
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
を表示してみましょう。
今度はエラーが表示され、原因として考えられる箇所も指摘してくれました。
念のため
http://localhost:8001/php_test.php
にアクセスし、現在の設定を確認してみましょう
「display_errors」が有効になっていることが確認できました。
これで今後MAMP環境下でもPHPのエラーが表示されるようになり、エラー箇所を特定しやすくなるかと思います。
関連記事 †
参考記事 †
- phpinfo関数による設定内容の確認 - php.iniの設定 - PHPインストールと初期設定
http://www.phpbook.jp/install/phpini/index5.html
- Side-B » Blog Archive » [MAMP] display_errorsの設定
http://side-b.sto.co.jp/weblog/archives/383
- MacOSX で PHP 開発環境を作ってみる(MAMP × PEAR × Smarty のインストール) - applesy16g::Hatena
http://d.hatena.ne.jp/tenkousei/20060428/1146193479
添付ファイル:
![file](image/file.png)
![file](image/file.png)
![file](image/file.png)
![file](image/file.png)
![file](image/file.png)