1

ファイルに頻繁に書き込んでいる PHP に問題があり、そのファイルを開くのに時間がかかることがあります。完全な説明は次のとおりです。

PHPでのfopenファイルのロック(リーダー/ライタータイプの状況)

私の質問は、たとえば 50ms で fopen をタイムアウトさせるにはどうすればよいかということです。stream-context-createを見ましたが、それは HTTP 用のようです。少なくとも、ローカル ファイルで機能する場合は、配列でオプションを指定する方法がわかりません。

何か案は?

ありがとうございました!
ダニエル

4

2 に答える 2

3

ここで何をしようとしているのかわかりませんが、一部のプラットフォーム (Windows ではありません) では、次のnフラグを使用して非ブロック モードでファイルを開くことができます。

$f = fopen("/tmp/foo/bar", "wn+");

これはすぐに戻るはずです。その後、おそらくstream_select50 ミリ秒のタイムアウトで使用できます。

このフラグは文書化されていないため、「おそらく」と言います。

于 2010-09-21T11:38:52.613 に答える
-1

php.inidefault_socket_timeoutの変数を に変更すると、役に立ちますか?'1'

于 2010-09-21T11:39:51.053 に答える