[[大家メモ/MAMP/MAMP環境でのPHPエラー表示]]
 
 #topicpath
 
 *MAMP環境でのPHPエラー表示 [#m907ecb5]
 
 **目次 [#fc763914]
 #contents
 
 
 **phpinfo関数でMAMP環境での設定確認 [#b592f053]
 
 MAMPのバージョンにより設定に差異があるため、まずは現状の設定を確認するためphpinfo関数を記述したphpファイルを用意します。
 
  <?php
  phpinfo();
  ?>
 
 上記の内容を記述したphpファイルを仮にphp_test.phpとし、MAMPの環境下へ配置し表示させてみます。
 
 例として、
 -大家メモ/MAMP/Mac OSXローカルにMAMPでサイト制作環境を構築
 
 で設定した「project001」ディレクトリ直下へ配置し、ブラウザにて
 
  http://localhost:8001/php_test.php
 
 でアクセスすると、以下のような情報が確認できます。
 
 #ref(img_phpinfo.gif,center)
 
 
 
 今回はその中の「error_log」「display_errors」の項目を確認してみましょう。
 
 
 **php.iniのerror_log、display_errors項目の設定確認 [#d96193cc]
 
 MAMP バージョン1.7.1で「error_log」の項目を確認してみると、
 
 #ref(img_error_log.gif,center)
 
 
 と表示されているので有効となっており、エラーのログは溜まるようになっているようです。
 
 
 次に「display_errors」の項目を確認してみると、
 
 #ref(img_display_error_off.gif,center)
 
 
 のように表示されているため、「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を有効化 [#yfa13603]
 
 php.iniファイルの記述を書き換えMAMP環境内でPHPエラーの表示を有効にするため、
 
  /Applications/MAMP/conf/php5/php.ini
 
 のファイルの記述から「display_errors」の設定に記述されている箇所を修正します。
 
 ※php.iniはたくさん入っておりどれが使用されているかわからない場合は
 phpinfo.php
 <?php
      phpinfo();
 ?>
 というファイルを一旦作成してアクセスすると、そこにphpの情報が記載されています。
 php.iniで検索をかけると、使用されているphp.iniファイルのPATHがわかるのでそれを書き換えましょう。
 php.iniのPATH(場所)は上記のphpinfoにて確認できます。
 
 
 デフォルトでは
 
  display_errors = Off
 
 となっていますので
 
  display_errors = On
 
 と書き換えます。
 念のため一度MAMPを再起動してから、先ほどわざと記述の間違いをしたファイル
 
  http://localhost:8001/php_test2.php
 
 を表示してみましょう。
 
 #ref(img_php_error.gif,center)
 
 
 今度はエラーが表示され、原因として考えられる箇所も指摘してくれました。
 
 念のため
 
  http://localhost:8001/php_test.php
 
 にアクセスし、現在の設定を確認してみましょう
 
 #ref(img_display_error_on.gif,center)
 
 
 「display_errors」が有効になっていることが確認できました。
 
 これで今後MAMP環境下でもPHPのエラーが表示されるようになり、エラー箇所を特定しやすくなるかと思います。
 
 
 ***関連記事 [#q1c1fae7]
 
 -大家メモ/MAMP/Mac OSXローカルにMAMPでサイト制作環境を構築
 
 
 ***参考記事 [#ma44dc8d]
 
 -phpinfo関数による設定内容の確認 - php.iniの設定 - PHPインストールと初期設定
 http://www.phpbook.jp/install/phpini/index5.html
 
 -Side-B  &raquo; Blog Archive   &raquo; [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
 
 
 #blikifooter(大家)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

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