牛骨文教育服务平台(让学习变的简单)
博文笔记

【PHP】Swoole:php多线程,异步,毫秒定时器,WebSocket的扩展实现

创建时间:2017-03-30 投稿人: 浏览次数:2149

一、前言。

我们知道,原始的php是不支持异步多线程的,web服务器的多线程是借助于nginx来实现的。所以如果想单纯的实现

异步多线程、定时器的功能,需要自己想办法,正好国内的牛人写了这样的扩展,可以帮助我们实现功能。扩展是——

swoole。

具体,可以参考以下两个链接来学习,掌握。

W3Cschool Swoole介绍

Swoole官方网站


二、安装。

可以参考Swoole v2.0.7。

2.1、系统环境要求。

  • PHP 5.3.10 or later
  • Linux, OS X and basic Windows support (Thanks to cygwin)
  • GCC 4.4 or later
2.2、笔者的系统。

gcc version 4.8.4 

Ubuntu 4.8.4-2ubuntu1~14.04.3(腾讯云cvm)

5.5.9-1ubuntu4.21ubuntu(php版本)


2.3、安装步骤。

  1. Install via pecl

    pecl install swoole
    
  2. Install from source

    sudo apt-get install php5-dev
    git clone https://github.com/swoole/swoole-src.git
    cd swoole-src
    sudo phpize
    sudo ./configure
    sudo make && sudo make install
2.4、安装过程中出现的问题。

1、安装过程中,会提示【缺少pcre.h文件】。

执行:sudo apt-get install libpcre3 libpcre3-dev

2、还要将扩展添加到php.ini中。

执行locate php.ini,会发现有很多php.ini。

./php5/fpm/php.ini
./php5/cgi/php.ini
./php5/cli/php.ini
./php5/apache2/php.ini

很显然,这都是在不同的php运行模式下的配置,我们在测试阶段,只需要cli模式,所以先只改./php5/cli/php.ini。

添加以下语句:extension=swoole.so

执行php -m,查看是否有swoole扩展。我们会发现其实在php核心库中原本就有了mysql、mysqli、pdo_mysql、SimpleXML、json等扩展。


三、所有都安装完成后,就可以开始学习使用了。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。