file_get_contents长时间超时,有没有办法超过几秒就重新执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了file_get_contents长时间超时,有没有办法超过几秒就重新执行相关的知识,希望对你有一定的参考价值。

file_get_contents()
有时候获取网页数据的时候超时,有没有办法超过几秒就重新执行

你好 你说的是超过php默认运行时间 30s

解决办法:

    可以在php.ini这个文件里修改的。

我们打开php目录下的php.ini这个文件,然后查找“max_execution_time”,把默认的30秒改为你需要的时间即可,如我,2分钟的话就改为120,注意单位是秒。

修改完后,保存。然后,千万不要忘记了把这个php.ini文件拷贝到C:\\WINDOWS\\下面,这里C:为系统盘。 重启apache即可。

如果不行的话:

    我建议采用如下来解决:

    

<?php
 $handle=@fopen(\'你的网址文件\',r);
 //逐行读取文件
 while (($buffer = fgets($handle, 4096)) !== false) 
        $data.=$buffer;
        if (feof($handle)) 
        echo "文件读写全部完成";
    
    //关闭文件资源
    fclose($handle);
    echo $data;
参考技术A 用函数set_time_limit(0);就不会超时了。

超过几秒就重新执行,用while循环的方式,例如:
while(true)
file_get_contents(文件名称);

sleep(时间);


OK追问

while(true)
file_get_contents(文件名称);

sleep(时间);

这个我设置了睡眠2秒钟,但是在 file_get_contents 里可能要卡上个5秒

本回答被提问者和网友采纳
参考技术B 没有 可以使用set_time_limit()函数设置php的执行时间

以上是关于file_get_contents长时间超时,有没有办法超过几秒就重新执行的主要内容,如果未能解决你的问题,请参考以下文章

长时间 ASP.NET 操作的 IIS 请求超时

为啥没有网络连接时 Alamofire 需要这么长时间才能超时?

select() 在长时间运行后立即超时 (C++)

停止需要很长时间使负载均衡器超时的操作

如何使用 Docker 使 phpmyadmin 持续更长时间而不会超时

HTTP请求超时时间导致的请求长时间等待