PHP安装threads多线程扩展基础教程


Posted in PHP onNovember 17, 2015

一、下载pthreads扩展

下载地址:http://windows.php.net/downloads/pecl/releases/pthreads

二、判断PHP是ts还是nts版

通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。

三、根据PHP ts\nts版选择对应pthreads的版本

本人php版本是5.4.17的所以下载php_pthreads-0.1.0-5.4-ts-vc9-x86.zip文件包,其中0.1.0表示为当前pthreads版本号,5.4为php版本号,ts就是之前判断php对应的ts、nts版,vs9代表是Visual Studio 2008 compiler编译器编译的,最后的x86代表的是32位的版本。

四、下载pthreads扩展

下载地址:http://windows.php.net/downloads/pecl/releases/pthreads

五、安装pthreads扩展

复制php_pthreads.dll 到目录 bin\php\ext\ 下面。
复制pthreadVC2.dll 到目录 bin\php\ 下面。
复制pthreadVC2.dll 到目录 C:\windows\system32 下面。
打开php配置文件php.ini。在后面加上extension=php_pthreads.dll
提示!Windows系统需要将 pthreadVC2.dll 所在路径加入到 PATH 环境变量中。我的电脑--->鼠标右键--->属性--->高级--->环境变量--->系统变量--->找到名称为Path的--->编辑--->在变量值最后面加上pthreadVC2.dll的完整路径(本人的为C:\WINDOWS\system32\pthreadVC2.dll)。

六、添加thread类

<?php
class Thread
{
  var $hooks = array();
  var $args = array();
  function thread()
  {
  }
  function addthread($func)
  {
    $args = array_slice(func_get_args(), 1);
    $this->hooks[] = $func;
    $this->args[] = $args;
    return true;
  }
  function runthread()
  {
    if(isset($_GET['flag']))
    {
      $flag = intval($_GET['flag']);
    }
    if($flag || $flag === 0)
    {
      call_user_func_array($this->hooks[$flag], $this->args[$flag]);
    }
    else
    {
      for($i = 0, $size = count($this->hooks); $i < $size; $i++)
      {
        $fp=fsockopen($_SERVER['HTTP_HOST'],$_SERVER['SERVER_PORT']);
        if($fp)
        {
          $out = "GET {$_SERVER['PHP_SELF']}?flag=$i HTTP/1.1rn";
          $out .= "Host: {$_SERVER['HTTP_HOST']}rn";
          $out .= "Connection: Closernrn";
          fputs($fp,$out);
          fclose($fp);
        }
      }
    }
  }
}

七、测试pthreads扩展

include('thread.php');
class 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();

以上内容给大家介绍了PHP安装threads多线程扩展基础教程,希望大家喜欢。

PHP 相关文章推荐
网络资源
Oct 09 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
php IP转换整形(ip2long)的详解
Jun 06 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
PHP工程师VIM配置分享
Dec 15 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
Nov 17 #PHP
教大家制作简单的php日历
Nov 17 #PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
Nov 16 #PHP
PHP Yii框架之表单验证规则大全
Nov 16 #PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 #PHP
yii添删改查实例
Nov 16 #PHP
PHP的运行机制与原理(底层)
Nov 16 #PHP
You might like
php中各种定义变量的方法小结
2017/10/18 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
JavaScript常用基础知识强化学习
2015/12/09 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
python读写文件操作示例程序
2013/12/02 Python
图文详解WinPE下安装Python
2016/05/17 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
解决python报错MemoryError的问题
2018/06/26 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python对excel的基本操作方法
2021/02/18 Python
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
战略合作意向书范本
2014/04/01 职场文书
会计专业应届生自荐信
2014/06/28 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
初中优秀学生评语
2014/12/29 职场文书
小学教师党员承诺书
2015/04/27 职场文书
教师工作证明范本
2015/06/12 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Python中Selenium对Cookie的操作方法
2021/07/09 Python