0

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 进程;但是,当我在我的虚拟主机上运行代码时,它运行良好。

以下在 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();

虽然,上面的代码确实适用于我的网站。

关于这个问题的任何想法和/或解决方案?谢谢!

4

1 回答 1

0

对于 multi curl , curl_multi_select() 始终返回 -1 ,这会导致结束执行时间,您应该使用自己的睡眠时间 usleep(100);

于 2015-03-09T10:30:18.783 回答