我遇到了PHP问题,我经常写文件,有时需要很长时间才能打开该文件。 完整的描述如下:
fopen file locking in PHP (reader/writer type of situation)
我的问题是如何让fopen超时,比如50ms。 我看了stream-context-create,但这似乎是针对HTTP,或者至少,如果它适用于本地文件,我不知道如何在数组中指定选项。
有什么想法吗?
谢谢! 丹尼尔
答案 0 :(得分:3)
我不确定你在这里尝试了什么,但在某些平台(不是Windows)中,你可以使用n
标志以非阻塞模式打开文件:
$f = fopen("/tmp/foo/bar", "wn+");
这应该立即返回。然后,您可以使用stream_select
,超时为50毫秒。
我说“可能”因为没有记录这个标志。
答案 1 :(得分:-1)
将 php.ini 中的default_socket_timeout
变量更改为'1'
,会有帮助吗?