【PHP】error_log関数でログをファイルに書き込む

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【PHP】error_log関数でログをファイルに書き込む

2023-8-4 |

PHPでerror_log関数でログをファイルに書き込みたい!

概要

今回の記事では、PHPでerror_log関数でログをファイルに書き込む手順を掲載する。

環境

  • Ubuntu 22.04.2 LTS
  • Apache/2.4.52
  • PHP 8.1.2

手順書

Ubuntu 22.04.2 LTS&Apacheの場合の手順。

  1. 適当なphpファイルを作って下記のように入力してブラウザでアクセスするとPHPに関する情報を確認できる。
    <?php phpinfo(); ?>

    error_logという項目を確認する。

    デフォルトではno valueとなっててPHPでerror_log関数を実行してもどこにも記録されない。(多分)

  2. PHPの設定ファイル/etc/php/8.1/apache2/php.iniを開き、590行あたりにコメントアウトされてるerror_logの定義があるので、その後の行にコピペして下記のようにログファイルを保存したい場所を指定する。
    ;error_log = php_errors.log
    error_log = /var/log/php_errors.log
  3. ログファイルを作る。
    sudo touch /var/log/php_errors.log
  4. Apacheにログファイルの書き込み・読み込みの権限を付与する。
    sudo chown www-data:www-data /var/log/php_errors.log
    sudo chmod 660 /var/log/php_errors.log
  5. Apacheを再起動する。
    sudo systemctl restart apache2
  6. phpinfo();error_logを確認してphp.iniで設定した内容になってるか確認する。
  7. 実際にphpファイルでerror_log関数を実行してログファイルに書き込まれるか確認しよう。
    <?php error_log("nya-n"); ?>

    ログファイルの例。

    [4-Aug-2023 21:00:00 Asia/Tokyo] nya-n

まとめ(感想文)

PHPのデバッグってめんどくさいな!