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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
人大复印资料处理程序_查询篇
Oct 09 PHP
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP超全局变量实现原理及代码解析
Sep 01 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学习资料汇总与网址
2007/03/16 PHP
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
PHP 数组教程 定义数组
2009/10/23 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
jQuery示例收集
2010/11/05 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
对python多线程与global变量详解
2018/11/09 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
公益活动策划方案
2014/01/09 职场文书
留学推荐信怎么写
2014/01/25 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
热情服务标语
2014/10/07 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android