多cURL功能在XAMPP localhost中不起作用

时间:2013-07-11 21:49:33

标签: multithreading curl xampp

XAMPP版本:1.8.1 PHP版本:5.4.7

我正在使用以下cURL课程:http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading

类源代码:http://paste2.org/XGeMUMme

在XAMPP中,当我尝试进行多卷曲会话时,页面永远不会加载,我的CPU使用率会上升,直到我结束Apache进程才会停止;但是,当我在我的webhost上运行代码时,它运行得很好。

以下适用于XAMPP,因为它是单线程cURL执行

$curl = new CURL();  
$opts = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true  );  
$curl->addSession( 'http://yahoo.com/', $opts ); 
$result = $curl->exec();  
$curl->clear(); 

但是,当运行此代码时(仅添加一个会话,这使其成为多线程),页面永远不会像我之前所说的那样加载。

$curl = new CURL();  
$opts = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true  );  
$curl->addSession( 'http://yahoo.com/', $opts ); 
$curl->addSession( 'http://google.com/', $opts ); 
$result = $curl->exec();  
$curl->clear();

虽然,上面的代码可以在我的网站上运行。

有关此问题的任何想法和/或解决方案?谢谢!

1 个答案:

答案 0 :(得分:0)

对于多卷曲,curl_multi_select()总是返回-1,这导致结束执行时间  你应该用自己的睡眠时间睡觉(100);