PHP スクリプトを cron ジョブとして実行すると、エラー ハンドラは機能しますが、error_log() 関数はディスクに書き込みません。php.ini の値が取得されず、エラー ログに出力されない場合に備えて、これらの行を cron で実行するスクリプトに含めました。
ini_set('display_startup_errors', 0);
ini_set('display_errors', 0);
ini_set('error_log', LOG_FOLDER . 'error_log.txt');
一般的なエラー処理は期待どおりに機能しており、受け取った cron 出力メールにエラー メッセージが表示されます。
回避策として、$_SERVER をチェックし、fopen() などを使用してエラー ログに書き込むことで、スクリプトが cron ジョブとして実行されていることを検出できました。 )。