【发布时间】:2010-12-26 13:08:57
【问题描述】:
卡在这个特定的问题上。我有从论坛(即 www.q8yat.net )获取大量页面的代码。现在我有一个使用 curl 从论坛获取页面的循环。在我的本地主机上一切正常。但是,当我在服务器上上传文件并尝试获取页面时,通常在加载固定数量的页面后会出现连接超时错误,但并非总是如此。我使用的 curl 选项是:
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 1, // timeout on connect
CURLOPT_TIMEOUT => 1200, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
我的服务器的phpinfo:http://topics4today.com/public/02_12_2010/fcrawl/src/phpinfo.php
好吧,我相信论坛正在使用 apache 模块:'mod_bwlimited' 来限制我可以根据我的 ip 请求的数据量。一种可能。
【问题讨论】:
-
你试过增加 CURLOPT_CONNECTTIMEOUT 吗?
-
@igorw - 是的,OP 是
CURLOPT_CONNECTTIMEOUT => 1 -
您是否设置了 PHP 超时? ca2.php.net/manual/en/function.set-time-limit.php
-
@ajreal 是的,但是将其设置为超过 1 的值?
-
@Pekka - 可能,也许 OP 在他的服务器上有一些网络问题