php.iniのエラー設定をVPS環境から変更する
2012年03月22日
VPSを借りて、色々設定をして、WordPressでブログ作って…
その間に遭遇した、メモしておきたくなった内容です。
WordPressの場合、こまごまとしたエラー(警告)は、
wp-config.phpのdefine(‘WP_DEBUG’, false)を設定(デフォルト)しておけば表示されません。
しかし、おおもとのphp.iniでのエラー表示も、ちゃんと設定しておくにこした事はありません。
何かの拍子にエラーが見えてしまうのは恥ずかしいですし、セキュリティ的にも問題があります。
そこで今回は、VPSで作業を進めるという前提で、エラー表示変更手順を残しておきます。
viでphp.iniを開く
いじるのは、「php.ini」です。
保存されているのは、「/etc/php.ini」あたりだと思います。
これを、viで編集。
etcディレクトリなので、sudoを使います。
sudo vi /etc/php.ini
ブラウザでのエラー表示をオフ
php.iniを編集します。
display_errors = Off
ブラウザでのエラー表示をオフにします。
「display_errors」で検索して、Onになっていたら、Offに修正。
(「a」で編集モードにして、修正したら「Esc」)
viの検索は、「/(スラッシュ)検索ワード」です。
続けて検索は、「n」。
なかなか憶えられなくて、苦労します。
エラーログの出力
つづいて、
log_errors = On
エラーログの出力です。
エラー表示をオフにしたので、エラーログを取っておかないと、トラブルの時に困ります。
以上で編集終了です。
編集が終わったら、「Esc」キーでコマンドモードに戻して、「ZZ」で保存終了。
設定変更後の確認も忘れずに
php.iniをいじったので、Apacheを再起動。
sudo /etc/init.d/httpd restart
ちなみに、「php.ini」でエラーログの保存先を指定する事もできます。
error_log = 保存場所
しかし、保存先を指定しなかった場合は、Apacheのエラーとして出力されます。
現状では、まとめて見られる方が便利なので、省略しました。
エラーログの保存先は、「/var/log/httpd/error_log」となります。
sudo vi /var/log/httpd/error_log
あとはエラーになるPHPファイル(存在しない関数を呼び出すとか)をアップ、呼び出して確認します。
ブラウザではエラー表示がされず、エラーログが残っている事を確認できたらOKです。