Subscribed unsubscribe Subscribe Subscribe

@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

実践デバッグ(Web編)

ウェブサービス作成中の問題を切り分けるためにやっていることのメモ。

思い出したら追記する。

ログを見る。

エラーの内容に応じてエラーログを探す。

  • Apacheのエラーで探すところ
    • /var/log/httpd/
    • /var/log/apache2/
    • virtualhostの設定に記述した ErrorLogCustomLogで指定した場所
  • Nginxのエラー
    • /var/log/nginx/
    • 設定項目error_logで指定した場所
  • PHPのエラー
    • $ phpinfo | grep errorerror_logの設定値にログファイルのパスが記載されている
    • 厳密にはコマンドとApache経由で違うことがあるので、phpファイル内で phpinfo();を実行して項目 error_log を確認する
    • .htaccessでもerror_logの設定ができる php_value error_log "/home/username/public_html/logs/error.log"
  • CentOS7 systemctlのログ
    • # journalctl -f -u nginxでサービスnginxのログを tail -f のように流せる
    • (未確認)/usr/lib/systemd/system/nginx.serviceでもログファイルを指定できるのかもしれない
  • PM2のログ
    • $ pm2 logs [app name]
  • CakePHPのログ
    • app/tmp/logs/

エラーに対する対処

エラーメッセージを読む。 だいたいエラーでググる。 エラーメッセージを読む。

ExceptionHandlerを書く