PHP在2秒后停止脚本file_get_contents()

Ani*_*m8r 5 php

好的,所以我有一个PHP脚本,使用加载另一个页面file_get_contents().

另一个页面加载大约需要30秒(它是脚本的类型),我需要的file_get_contents()就是启动这个脚本.

问题是,file_get_contents()整个30秒将保持加载.停止此操作的唯一方法是关闭选项卡(关闭选项卡时,它调用的脚本仍会运行).

所以,我怎么能得到它,所以file_get_contents();说2秒后关闭?

提前致谢

ene*_*nen 3

无法回答您的问题,但我建议使用cURL代替file_get_contents

例子:

function get_url_contents($url) {
    $crl = curl_init();

    curl_setopt($crl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
    curl_setopt($crl, CURLOPT_URL, $url);
    curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($crl, CURLOPT_CONNECTTIMEOUT, 5);

    $ret = curl_exec($crl);
    curl_close($crl);
    return $ret;
}
Run Code Online (Sandbox Code Playgroud)

您的问题可能是超时造成的:default_socket_timeout

但这似乎不符合逻辑,因为 2 秒确实很少,而且我无法解释为什么有人会将其更改为 2 秒。默认值为 60 秒。