在PHP中,如何在打开本地文件时非常快地启动fopen?

时间:2010-09-21 11:26:50

标签: php timeout fopen local-files

我遇到了PHP问题,我经常写文件,有时需要很长时间才能打开该文件。 完整的描述如下:

fopen file locking in PHP (reader/writer type of situation)

我的问题是如何让fopen超时,比如50ms。 我看了stream-context-create,但这似乎是针对HTTP,或者至少,如果它适用于本地文件,我不知道如何在数组中指定选项。

有什么想法吗?

谢谢! 丹尼尔

2 个答案:

答案 0 :(得分:3)

我不确定你在这里尝试了什么,但在某些平台(不是Windows)中,你可以使用n标志以非阻塞模式打开文件:

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

这应该立即返回。然后,您可以使用stream_select,超时为50毫秒。

我说“可能”因为没有记录这个标志。

答案 1 :(得分:-1)

php.ini 中的default_socket_timeout变量更改为'1',会有帮助吗?