windows下xampp安装PHP的pthreads多线程扩展

来源:互联网 发布:手机找不到网络连接 编辑:程序博客网 时间:2024/05/17 03:54

我的运行环境:

系统:windows7 ,64位

PHP:5.6.8 TS,VC11 ,32位

Apache: 2.0 

我安装的是xampp集成环境

pthreads的windows扩展文件下载地址:http://windows.php.net/downloads/pecl/releases/pthreads/

我下载的是2.0.9-5.6-ts-vc11-x86这个版本

安装步骤:

1,将pthreadVC2.dll复制到  XX盘:\xampp\php\

2,将php_pthreads.dll复制到 XX盘:\xampp\php\ext\

3,php.ini添加extension=php_pthreads.dll

4, 修改Apache配置文件httpd.conf 添加LoadFile "XX盘:/xampp/php/pthreadVC2.dll"

5,重启apache

官方测试代码:

复制代码
<?phpclass AsyncOperation extends Thread {  public function __construct($arg){    $this->arg = $arg;  }  public function run(){    if($this->arg){      printf("Hello %s\n", $this->arg);    }  }}$thread = new AsyncOperation("World");if($thread->start())  $thread->join();?>
<?phpclass test extends Thread {    public $url;    public $result;        public function __construct($url) {        $this->url = $url;    }        public function run() {        if ($this->url) {            $this->result = model_http_curl_get($this->url);        }    }}function model_http_curl_get($url) {    $curl = curl_init();      curl_setopt($curl, CURLOPT_URL, $url);      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);      curl_setopt($curl, CURLOPT_TIMEOUT, 5);      curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)');      $result = curl_exec($curl);      curl_close($curl);      return $result;  }for ($i = 0; $i < 10; $i++) {    $urls[] = 'http://www.baidu.com/s?wd='. rand(10000, 20000);}/* 多线程速度测试 */$t = microtime(true);foreach ($urls as $key=>$url) {    $workers[$key] = new test($url);//调用start函数,就已经执行了run    $workers[$key]->start();}foreach ($workers as $key=>$worker) {    while($workers[$key]->isRunning()) {        usleep(100);      }    if ($workers[$key]->join()) {        //var_dump($workers[$key]->result);    }}$e = microtime(true);echo "多线程耗时:".($e-$t)."秒<br>";  /*$t = microtime(true);foreach ($urls as $key=>$url) {    model_http_curl_get($url);}$e = microtime(true);echo "For循环耗时:".($e-$t)."秒<br>";  */
0 0
原创粉丝点击