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

一、下载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扩展安装
php多线程扩展
java多线程实例、java多线程编程实例、c 多线程实例、c 多线程编程实例、qt多线程编程实例,以便于您获取更多的相关知识。

时间: 2024-10-25 17:33:32

PHP安装threads多线程扩展基础教程_php实例的相关文章

laravel 4安装及入门图文教程_php实例

一.安装Composer 首先你需要安装Composer,Composer是PHP依赖管理工具,Laravel框架就是使用 Composer 执行安装和依赖管理. 注: (1)若安装Composer出错,在php.ini中开启php_openssl,php_fileinfo扩展,因为Laravel需要. (2)安装过程中,选择正确的php.exe位置 二.安装Laravel Composer安装完成后,在cmd中,你的网站目录执行下面命令即可: composer create-project l

laravel安装zend opcache加速器教程_php实例

以文章页为例,通过chrome抓包,waiting的时间达到147ms,实际上未作缓存优化前,这个页面大概有4条sql语句,速度也只是152ms左右,差别不大,所以我决定安装zend opcache加速php. 当我在服务器上安装了zend opcache后,再测试,waiting已经下降到68ms,效果明显. so,laravel项目还是有必要安装此类php加速器的. 附安装教程: zend opcache(ZendOptimizerPlus) 项目目前托管在github,项目地址为: htt

PHP+Apache+Mysql环境搭建教程_php实例

Php+Apache+Mysql下载php下载:http://www.php.net 进入php官网后点击download进入以下界面.上面显示了不同的版本我选择的是php5.6.19版,这个较为稳定,要是没有版本的要求的话建议使用该版本.在Windows环境下开发php,所以继续点击图片中的Windows downloads下载压缩包. 在进去的界面中可以看到主要有VC11 X64 Thread Safe,VC11 X64 None Thread Safe等版本,我选择的是VC11 X64 T

windows server 2008/2012安装php iis7 mysql环境搭建教程_php实例

windows server 2008/2012安装php iis7 mysql环境搭建教程,具体内容如下 1.安装IIS windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便. 打开"开始"菜单→"服务器管理",出现服务器管理界面(图1) 图1 - 服务器管理 滚动条下翻,或者点击主菜单的"角色",然后点击"添加角色",出现向导页面后点击下一步,选择"web服务器(IIS)&

apache php mysql开发环境安装教程_php实例

apache php mysql开发环境搭建教程,分享给大家,供大家参考 0.资源链接: 360云盘:https://yunpan.cn/c6wpzYwbfmLJY (提取码:0190) 1.首先安装编译器环境 即如下文件: 2.安装apache+php+mysql 即如下文件: 2.1.安装apache 2.1.1安装 只说关键几点 2.1.1.1 2.1.1.2 2.1.1.3 2.1.1.4.在浏览器地址栏输入:localhost ,若出现以下页面,说明您已成功安装apache 2.1.2

Centos PHP 扩展Xchche的安装教程_php实例

注意事项: 1.opcode是啥?php执行的时候,会被编译成opcode,然后zend引擎会执行opcode 2.php中eAccelerator.memcached.xcache.APC 4个加速.缓存扩展的区别 参考:http://www.jb51.net/article/88281.htm xcache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如

VPS中使用LNMP安装WordPress教程_php实例

前言 前几天,朋友手头上有一个空闲的vps,256M内存,我决定拿来玩一下.经过一番思考,还是用来挂站吧.然后看是CentOS6系统,果断决定用从来没玩过的LNMP.于是,百度.谷歌找教程,好多教程都是有问题的,导致重装无数次系统,浪费大把大把时间.现在总结一下成功的经验. 安装screen 在终端输入yum install screen 完成后输入screen -S lnmp 为什么要这样做呢?答案很简单,因为它可以保护您的远程连接,让工作不半路意外停止.我在安装LNMP的时候时间比较长,而X

Apache PHP MySql安装配置图文教程_php实例

每一项技术用的人多了,就会有人将其进行优化,做成一个简单.实用.大众化的工具,这对于初识者来说是非常方便的,但是对于长久学习或工作这方面的人技术人员来说是不可取的,所以还是要学习基础的实用方法.因此,我就在ubuntu下配置了Apache服务器来更深入的学习. 这是一个默认安装的方法,如果要指定 步骤一:安装apache2 1.sudo apt-get install apache2,然后输入管理员用户的密码 输入"y",然后回车,完成安装 2.默认的网站根目录的路径 Apache 安

在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程_php实例

因为甲骨文的尿性.mariadb应该要顶替mysql了.所以抛弃mysql 1,编译nginx分别下载nginx,openssl,pcre 编译openssl的时候会提示 WARNING! If you wish to build 64-bit library, then you have to invoke './Configure darwin64-x86_64-cc' *manually*. 如果你不停止编译就会出错.这个问题应该是 openssl/config脚本猜对你的系统是64位,但