温馨提示×

PHP allow_url_fopen怎样设置超时

PHP
小樊
82
2024-10-23 12:53:18
栏目: 编程语言

在 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 秒的超时时间。

0