我试图重写我的代码以支持多线程多线程,它是一个简单的代码,但我无法弄清楚如何做到这一点,基本上是什么做的是我该怎么办在PHP
- 请求第一个带curl的网页 - >得到一个唯一的ID
- 使用唯一的ID来请求另一个页面 - >获得一个会话
- 使用会话请求另一个页面---> sleep()然后做它再次
现在这是一个单一的thr EAD做的,但我想在同一时间
我所做的是,创建3个sperate文件
第一个创造了10届,并将它们保存在其他参数的txt文件,创造了很多的线程(会话1 | unique_id1 | paramter1 | anotherparameter1)
第二个文件包含的代码
$sessions = file('sessions.txt');
$WshShell = new COM("WScript.Shell");
foreach($sessions as $kk => $session) {
if (!empty($session)) {
$oExec = $WshShell - > Run("php requests.php $kk", 0, false);
}
}
它打开txt文件,和foreach线它打开请求具有行数argv中
文件210,并在第三个文件,它走线数量,并开启了会议文件,retreive会议的paramater并与该会话
所以这是我做了我的多线程发送请求,但我觉得我写了一个PHP代码与岩石 现在我想重写它,而无需打开10 sperate php过程
http://php.net/manual/en/intro.pthreads.php - PThreads是将线程添加到PHP的扩展。我个人只是分叉进程。 – kainaw 2015-03-02 17:33:11
感谢您的答案,你能至少帮我多线程后,我得到的会议,我的意思是我想打开所有会议一次使用卷曲 ,我不明白如何curl_multi工作:/ – javodri 2015-03-02 17:34:38
首先,你需要安装pthreads扩展。如果您没有安装扩展程序,为pthreads编写代码是毫无意义的。我提供的链接显示了如何安装它以及如何创建线程。 – kainaw 2015-03-02 17:36:11