在 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 秒的超時時間。