オープン ソース プロジェクトのCDashは、PHP のerror_log関数を使用して、CDash に固有の情報、警告、およびエラーをカスタム ログ ファイルに記録します。デフォルトでは、このカスタム ログ ファイルは「backup/cdash.log」の CDash ソース ツリーにあります。
ファイルlog.phpは、次のように error_log を呼び出します。
$logged = error_log($error, 3, $logFile);
私が観察している問題 (php 5.4.7 を含む XAMPP 1.8.1 を搭載した Windows XP で) は、CDash テスト スイートが実行され、複数のプロセスが CDashadd_log
関数を介して書き込みを行おうとすると、2 番目以降のプロセスが「許可が拒否されました」ということです。エラーは、最初のプロセスがなくなり、明らかにロックしているホールドを解放するまで続きます$logFile
。
複数のプロセスがそれを呼び出していて、宛先がカスタム ログ ファイルである場合、php の error_log 関数からの許可拒否エラーを回避するにはどうすればよいですか?