Ubuntu14.04中Swoole扩展安装与使用方法

Swoole是国内牛人写的一个PHP的异步,并行,分步式扩展,是一个PHP的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
下面在Ubuntu环境下安装一下Swoole扩展(前题:本人的Ubuntu环境看上篇博文)

1. 确认安装环境

仅支持Linux操作系统,核心代码兼容FreeBSD,需要调整某些编译的参数和细节才能通过
Linux内核版本2.3.32以上
PHP5.3.10以上版本
gcc4.4以上版本。核心代码兼容clang,需要关闭CPU亲和设置特性
cmake2.4+,编译为libswoole.so作为C/C++库时,需要使用cmake

2. 安装与配置

2. 1安装swoole:可pecl直接在线安装,或下载 releases版本的swoole编译安装
2.11编译安装swoole扩展

从此处下载: http://pecl.php.net/package/swoole

 代码如下 复制代码

# cd swoole
# phpize
# ./configure
# make && make install

2.12 pecl安装swoole扩展

pecl不可用的请确认php安装目录的bin目录已加入系统变量

本文介绍的用pecl方式来安装

 代码如下 复制代码

zzs@ubuntu:~$ sudo pecl install swoole
downloading swoole-1.7.8.tgz …
Starting to download swoole-1.7.8.tgz (412,906 bytes)
….done: 412,906 bytes
130 source files, building
running: phpize
sh: 1: phpize: not found
If the command failed with ‘phpize: not found’ then you need to install php5-dev packageYou can do it by running ‘apt-get install php5-dev’ as a root userERROR: `phpize’ failed

zzs@ubuntu:~$ sudo apt-get install php5-dev

正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会安装下列额外的软件包:
pkg-php-tools shtool
建议安装的软件包:
dh-make
下列【新】软件包将被安装:
php5-dev pkg-php-tools shtool
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 13 个软件包未被升级。
需要下载 0 B/527 kB 的软件包。
解压缩后会消耗掉 4,431 kB 的额外空间。
您希望继续执行吗? [Y/n] y

install ok: channel://pecl.php.net/swoole-1.7.8
configuration option “php_ini” is not set to php.ini location
You should add “extension=swoole.so” to php.ini
zzs@ubuntu:~$ sudo vim /etc/php5/mods-available/swoole.ini

里面加入内容

 代码如下 复制代码

; configuration for php Swoole module
extension=swoole.so

php -m | grep swoole

此时还没有swoole模块

 代码如下 复制代码

sudo ln -s /etc/php5/mods-available/swoole.ini /etc/php5/cli/conf.d/20-swoole.ini

下面两行酌情使用

 代码如下 复制代码

sudo ln -s /etc/php5/mods-available/swoole.ini /etc/php5/apache2/conf.d/20-swoole.ini
sudo ln -s /etc/php5/mods-available/swoole.ini /etc/php5/fpm/conf.d/20-swoole.ini

php -m | grep swoole
swoole

 

附php5配置文件说明
cd /etc/php5/
ls
apache2 cli fpm mods-available
我的系统这里面有4个目录
其中 真正的扩展在mods-available目录中,其他的环境要想使扩展生效ubuntu使用软链接的方式使其生效,这样有个好处,当真正的配置文件发生变化,只需要改一处(modo-available)就可以了。

测试扩展

server.php:

 代码如下 复制代码
<?php
  $serv = new swoole_server("0.0.0.0", 9501);
  $serv->on('connect', function ($serv, $fd){
    echo "Client:Connect.\n";
  });
  $serv->on('receive', function ($serv, $fd, $from_id, $data) {
    $serv->send($fd, 'Swoole: '.$data);
  });
  $serv->on('close', function ($serv, $fd) {
    echo "Client: Close.\n";
  });
  $serv->start();
?>

client.php:

 代码如下 复制代码

<?php
  $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
  $client->on("connect", function($cli) {
    $cli->send("hello world\n");
  });
  $client->on("receive", function($cli, $data){
    echo "Receive: $data\n";
  });
  $client->on("error", function($cli){
    echo "connect fail\n";
  });
  $client->on("close", function($cli){
    echo "close\n";
  });
  $client->connect('127.0.0.1', 9501, 0.5);
?>
 

最后感谢作者rango为php开发出这么牛的扩展,为开源事业做出贡献,希望php越来越有范儿

时间: 2024-10-30 18:22:08

Ubuntu14.04中Swoole扩展安装与使用方法的相关文章

PHP的swoole扩展安装方法详细教程_php技巧

Swoole支持PHP 5.3.10以上版本,所以安装Swoole之前请先安装PHP 5.3.10以上版本,现在来介绍Windows下PHP安装配置方法. 软件版本:php-5.3.1-Win32-VC6-x86.zip 这个不需要额外的安装.net的库,所以就用这个了.可以使用其他的. 1.PHP安装 使用绿色方式,下载Zip文件解压. 2.配置 在解压的根目录下找到php.ini-development,是用于开发环境的配置文件:还有一个php.ini-production,这个是用于生产环

双系统-win7下安装Ubuntu14.04登录循环,看了好多方法都无效,求解决方案

问题描述 win7下安装Ubuntu14.04登录循环,看了好多方法都无效,求解决方案 电脑配置不高,装虚拟机比较卡所以决定装双系统,Ubuntu14.04分区"/home"10G,"/boot"400M,swap 1.5G,都是选的逻辑分区,"/"20G,主分区.但是安装完成之后点击重新启动,只黑屏没有关机.不重启.强制关机后开机进win7系统进磁盘管理后发现Ubuntu的这几个分区都变成主分区了.做完引导之后,重启.在Ubuntu登录界面输入

[小技巧]如何在Ubuntu14.04中禁用叠加滚动条

[小技巧]如何在Ubuntu14.04中禁用叠加滚动条 Hello 伙计们, 这是一个如何在Ubuntu中禁用叠加滚动条的小技巧.注意,在本文中讲的不是删除叠加功能,而是告诉你如何启用或禁用它. 禁用 打开终端并执行以下命令 gsettings set com.canonical.desktop.interface scrollbar-mode normal 更改后会立即生效: 启用 gsettings reset com.canonical.desktop.interface scrollba

PHP中PDO_MYSQL扩展安装的2种方法

方法一, 看到CakePHP文档要求安装pdo_mysql扩展,于是就尝试安装了一下. 这里我的系统是CentOS 6.0.如果你的系统是其他版本的Linux/Unix,可以参考.如果你的系统是Windows的,抱歉,以下内容不适合你,请移步. 首先是下载pdo_mysql扩展的源码包.下载页面在这里:http://pecl.php.net/package/PDO_MYSQL.可以先下载了然后用FTP传到服务器. 我是在复制了下载地址以后使用wget直接下载到服务器端的. # wget http

CentOS6中ImageMagick扩展安装方法详解

ImageMagick的可以通过使用Remi安装库,或通过编译从最新的稳定版本的源代码进行安装.下面老左就整理来自国外的教程,分为不同的方法安装. 方法之一.安装库安装ImageMagick扩展 A - 如果我们没有安装EPEL库,需要先安装  代码如下 复制代码 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh epel-release-6*.rpm B - 安装Rem

centos中php编译安装PDO的方法

.在php的原码安装包里,进入到etc/pdo_mysql里.假设你的php是安装在/usr/local/php里的. 执行/usr/local/php/bin/phpize 2.进行编译../configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql (假设你的mysql是安装在/usr/local/mysql) 3.编译安装.make,make install. 4.到了第

Ubuntu 12.04中NFS文件共享安装与配置步骤

又是碰到的问题,继续做记录备份. 涉及到服务器之间文件共享,需用到NFS共享设置,服务器为Ubuntu 12.04 64位. 准备环境 服务器两台: 服务端: 192.168.1.1 客户端: 192.168.1.2 服务端操作 1,首先安装nfs服务(以下操作自行切换root用户) apt-get install nfs-kernel-server 2,安装完成后,编辑设置文件: vi /etc/exports 新安装的是一个空文件,只有部分注释,在下方加入: /mydata  192.168

ubuntu14.04 使用中遇到的问题及解决方法集锦_Linux

这是第二次安装使用ubuntu了,虽然上一次因为不习惯和不会使用一两天就放弃了,这次坚持的时间稍微长一点,目前ubuntu的基本使用也熟悉了.但是由于ubuntu上的应用太少,常用软件,比如QQ,Photoshop,旺旺等软件无法使用所以日常使用还是以windows为主.目前电脑是windows7和ubuntu 14.04双系统.以下是一些遇到的小问题和解决方法: 安装解压(RAR)软件,打开windows下的rar文件 sudo apt-get install unrar shift+prin

centos中ImageMagick命令安装与使用方法

先来介绍一下 ImageMagick. ImageMagick(简称 IM)是一个支持 GPL 协议的开源免费软件包. 它由一组命令行工具组成的. 它可以对超过 100 种的图像格式(包括 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF等等),进行读.写.编辑和转换的操作. 它支持多数主流操作系统,其中包括 UNIX.Mac OS X 和 Windows. IM 的主页是 http://www.