$sock = fsockopen($url_parts['host'], (isset($url_parts['port']) ? (int)$url_parts['port'] : 80), $errno, $errstr, 30);
if (!$sock) return false;
我在我的数据库中列出了我正在访问的 url,偶尔我会得到这个:
我收到“ fatal error :超过 30 秒的最长执行时间...”
这是预期的,因为它进入该站点,不允许套接字或其他东西。
如何跳过这些不良网站,以便我的脚本继续为其他良好网站运行?
谢谢
最佳答案
降低 fsockopen()
(调用的最后一个参数)的连接超时,目前设置为 30 秒。否则 PHP 将等待 30 秒连接到远程主机,然后由于最大执行时间而失败。
您可以使用该值来满足您的需要,但通常您可以假设如果套接字在几秒钟内未打开则无法建立连接。
此外,您可能希望使用 set_time_limit()
来增加脚本的最长执行时间。
关于php - fsockopen 错误我想跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1645226/