【发布时间】:2012-01-12 12:37:29
【问题描述】:
我收到了可怕的消息:
Fatal error: Maximum execution time of 90 seconds exceeded in /home/pricing.php on line 239
代码是:
$url = "http://*******.com/feed?f=PR&categories=$cat_id&limit=100&startproducts=$ii&price_min=0.01&sortproducts=score&show=properties";
$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HEADER, 0);
curl_setopt($c, CURLOPT_USERPWD, "****:****");
$xml = simplexml_load_string(curl_exec($c)); // line 239
simplexml_load_string 是第 239 行,这当然意味着已经获取了提要(因为需要更好的词!)并且正在加载字符串,但肯定不会超过 90 秒?
我的问题是:
1 - 什么可能/会导致这种情况?
2 - 将php_value max_execution_time 增加到 90 秒以上是否安全?什么被认为是安全的最大值?
3 - 有没有比使用 curl 更好/更快/更稳定的方式来降低提要?
感谢大家的帮助!
【问题讨论】:
-
不,这并不意味着流“已获得”。如果网站“慢”,时间很可能花在
curl_exec。如果你想确定的话,把它分成两行。 -
啊,好吧——如果我把它分解成这样:$feed = curl_exec($c); $xml = simplexml_load_string($feed);是这个意思吗?
-
是的,那么您就会知道这两个呼叫中的哪一个正在停止。
-
用“retrived”来形容“got”的更好用