在 PHP 中,您可以通过设置 default_socket_timeout
选项来调整 allow_url_fopen 的超时时间。此选项将影响所有使用 PHP 内置的 socket 函数,包括 file_get_contents() 和 stream_context_create()。
要更改此设置,请在 php.ini 文件中搜索 “default_socket_timeout”,然后修改其值。例如,要将超时设置为 5 秒,请更改为:
default_socket_timeout = 5
如果您无法编辑 php.ini 文件,也可以在脚本中使用 ini_set()
函数动态更改此设置:
ini_set('default_socket_timeout', 5);
请注意,这将影响整个 PHP 脚本的超时设置,而不仅仅针对 allow_url_fopen。如果您需要为特定操作设置不同的超时,可以使用 stream_context_create()
函数创建自定义的上下文选项。例如:
$context = stream_context_create([ 'http' => [ 'method' => 'GET', 'timeout' => 5, // 设置 HTTP 请求的超时时间(秒) ], ]); $result = file_get_contents('https://example.com', false, $context);
在这个例子中,我们为 file_get_contents() 函数设置了 5 秒的超时时间。