我在使用 PHP 时遇到问题,我经常写入文件,有时打开该文件需要很长时间。完整的描述在这里:
PHP 中的 fopen 文件锁定(读取器/写入器类型的情况)
我的问题是我怎样才能让 fopen 在 50 毫秒内超时。我查看了stream-context-create,但这似乎适用于HTTP,或者至少,如果它适用于本地文件,我不确定如何在数组中指定选项。
有任何想法吗?
谢谢!
丹尼尔
我在使用 PHP 时遇到问题,我经常写入文件,有时打开该文件需要很长时间。完整的描述在这里:
PHP 中的 fopen 文件锁定(读取器/写入器类型的情况)
我的问题是我怎样才能让 fopen 在 50 毫秒内超时。我查看了stream-context-create,但这似乎适用于HTTP,或者至少,如果它适用于本地文件,我不确定如何在数组中指定选项。
有任何想法吗?
谢谢!
丹尼尔
n
我不确定您在这里尝试什么,但在某些平台(不是 Windows,虽然)中,您可以使用以下标志以非阻塞模式打开文件:
$f = fopen("/tmp/foo/bar", "wn+");
这应该立即返回。然后您可以使用stream_select
50 毫秒的超时。
我说“可能”是因为没有记录这个标志。
将php.inidefault_socket_timeout
中的变量更改为,这有帮助吗?'1'