デバッグ機能

PHP のデバッグ機能(error_log)の説明です。

error_log(... 'app.log');

  1. error_log() で書き出すファイルの名前を app.log とします。
        error_log($str, 3, 'app.log');
    
  2. 'app.log' はカレントディレクトリに作成されます。
    コンソールモード, ビルトインサーバー, サーバーのプログラムで使用することが出来ます。
  3. コンソールモード, ビルトインサーバーでは、パソコン上に作成されるので自由にアクセスすることが出来るでしょう。
    サーバーでは、サーバーにアクセスする権限が必要です。
    私のサーバーに作成された app.log は次のリンクをクリックして確認することが出来ます。
    app.log Print
  4. 'app.log' はクリアされること無く、TEXT が追加モードで記録されて行きます。
    そのままにしておくと、どんどんファイルが膨れ上がります。
    適当なタイミングで app.log のテキストを整理して下さい。(ファイルを削除してもOKです)

プログラムファイル

  1. 日付と時刻を表示する log_date.php です。
    date() 関数で現在時刻を $str に取得します。
    error_log() 関数で $str を 'app.log' に書き出します。
    <?php
        date_default_timezone_set("Asia/Tokyo"); 
        $str = date("Y/m/d  H:i:s") . "\r\n";
        echo $str;
        error_log($str, 3, 'app.log');
    ?>
    

  2. コンソールモードでテストします。
    1. log_date.php を utf-8(BOM 無し)でタイプして C:\DATA\PHP\ に格納して下さい。
    2. コマンドプロンプトを起動して log_date.php をコンパイルします。
      C:\Users\maeda>cd C:\BIN\PHP
      C:\BIN\php>php C:\DATA\PHP\log_date.php
      2020/06/07  17:39:09
      
    3. カレントディレクトリに app.log が作成されます。
      type app.log で印字してみました。
      C:\BIN\php>type app.log
      2020/06/07  17:39:09
      

  3. ビルトインサーバーでテストします。
    1. log_date.php を utf-8(BOM 有り)でタイプして、ルートフォルダー(私の場合は /html/public/php)に格納して下さい。
    2. ルートフォルダーの index.html から log_date.php を呼び出して下さい。
      <a href="log_date.php">log_date.php の実行</a>
      日付と時刻を 'app.log' に書き出します。
      
    3. コマンドプロンプトを起動して phpbat.bat を実行します。
      ブラウザを起動して http://localhost:8000 をURLに貼り付けると index.html が実行されます。
    4. index.html から log_date.php を呼び出して下さい。
    5. 実行するとカレントディレクトリに app.log が作成されます。
    6. 適当なタイミングで app.log のテキストを整理して下さい。(ファイルを削除してもOKです)

  4. サーバーにアップロードしてテストします。
    1. log_date.php を utf-8(BOM 有り)でタイプしてアップロードして下さい。
    2. 次のリンクをクリックするとサーバーの log_date.php が実行されます。
      log_date.php の実行
    3. 次のリンクをクリックするとサーバーの app.log が印字されます。
      app.log の印字 の実行

前田稔の超初心者のプログラム入門
PHP Program