人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのerror_log関数(http://www.php.net/manual/ja/function.error-log.php)について質問です。

たとえば、複数のアプリケーションから同時のタイミングでこのerror_log関数によるエラーログの書き込みがあった場合、排他制御により一部のエラーログが記録されない、といった事態は起こりえないのでしょうか?

実際に、複数のアプリケーションで同時にerror_log関数を呼び出してみたのですが、すべて記録されていました。が、実行タイミングによっては、排他制御により記録されないエラーログが出てしまうのは困るということで、質問させていただきます。

●質問者: emegane
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP いただきます アプリケーション エラーログ タイミング
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● chrono1742
●45ポイント ベストアンサー

PHPは、基本的にシングルスレッドでしか動きません。

複数のアプリケーションが動いているように見えても、各々のタスクに分けて処理を行っています。


CGIモードでpcntl_forkを使ってマルチスレッド化したり、PHP以外のアプリからログファイルの更新をしない限り、競合は起きません。

http://techblog.ecstudio.jp/tech-tips/php-multi.html

◎質問者からの返答

なるほど、マルチスレッド化しない限りは、ログファイルで競合が起こることはないのですね。ご丁寧な解説、ありがとうございました。大変参考になりました。


2 ● goog20090901
●35ポイント

log4とか使ったほうが良いのでは?

http://www.doyouphp.jp/tips/tips_log4php.shtml

◎質問者からの返答

こういうものもあるのですね!参考になりました。

ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ