溫馨提示×

PHP allow_url_fopen怎樣設(shè)置超時(shí)

PHP
小樊
81
2024-10-23 12:53:18
欄目: 編程語言

在 PHP 中,您可以通過設(shè)置 default_socket_timeout 選項(xiàng)來調(diào)整 allow_url_fopen 的超時(shí)時(shí)間。此選項(xiàng)將影響所有使用 PHP 內(nèi)置的 socket 函數(shù),包括 file_get_contents() 和 stream_context_create()。

要更改此設(shè)置,請?jiān)?php.ini 文件中搜索 “default_socket_timeout”,然后修改其值。例如,要將超時(shí)設(shè)置為 5 秒,請更改為:

default_socket_timeout = 5

如果您無法編輯 php.ini 文件,也可以在腳本中使用 ini_set() 函數(shù)動(dòng)態(tài)更改此設(shè)置:

ini_set('default_socket_timeout', 5);

請注意,這將影響整個(gè) PHP 腳本的超時(shí)設(shè)置,而不僅僅針對(duì) allow_url_fopen。如果您需要為特定操作設(shè)置不同的超時(shí),可以使用 stream_context_create() 函數(shù)創(chuàng)建自定義的上下文選項(xiàng)。例如:

$context = stream_context_create([
    'http' => [
        'method' => 'GET',
        'timeout' => 5, // 設(shè)置 HTTP 請求的超時(shí)時(shí)間(秒)
    ],
]);

$result = file_get_contents('https://example.com', false, $context);

在這個(gè)例子中,我們?yōu)?file_get_contents() 函數(shù)設(shè)置了 5 秒的超時(shí)時(shí)間。

0