前言
swoole是运行在PHP下的一个extesion扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。
Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
Swoole扩展是按照php标准扩展构建的。使用phpize来生成php编译配置,./configure来做编译配置检测,make进行编译,make install进行安装。
条件:
- php版本支持:PHP5.3.10以上版本
- gcc4.4以上版本或者clang
- cmake2.4+,编译为libswoole.so作为C/C++库时需要使用cmake
- CentOS6.2+
- Ubuntu12+
- Debian6+
下面是编译安装步骤:
1、下载源码包文件
# 注:这里我下载了1.9.3版本,是因为我的PHP版本是5.4的,大家可以根据自己PHP版本下载不同的版本。
wget http://pecl.php.net/get/swoole-1.9.3.tgz
# 也可以手动下载各个swoole版本,下面是下载地址,浏览器访问后可以选择自己要的版本下载
http://pecl.php.net/package/swoole
# wget http://pecl.php.net/get/swoole-5.0.1.tgz # 浏览器访问后查看自己要的版本然后直接下载
2、解压并进入目录
tar -zxvf swoole-1.9.3.tgz
cd swoole-1.9.3
3、使用phpize进行安装
# (注:下面这里是实际的php安装配置目录,同下,你的可能和我这个位置不一样)
sudo /usr/local/LAMP/php/bin/phpize # 如果不知道自己PHP的配置目录,可以在命令行输入: sudo find / -name phpize 查看
sudo ./configure --with-php-config=/usr/local/LAMP/php/bin/php-config
sudo make
sudo make install
#!出现类似如下提示,表示编译成功了
Installing shared extensions: /usr/local/LAMP/php/lib/php/extensions/debug-zts-20100525/
4、修改php配置文件并在文件最后面添加如下内容
sudo vi /usr/local/LAMP/php/etc/php.ini
extension=swoole.so # 编辑PHP配置文件,然后在文件最末尾添加这行,保存退出
5、测试查看安装情况
# 重启apache,/usr/local/LAMP/apache/ 这个也是我自己的Apache安装目录,你的可能不一样,实在找不到,就重启服务器~~~
sudo /usr/local/LAMP/apache/bin/apachectl restart
# 重启Apache后,终端命令行下查看php模块是否有swoole,有的话就表示安装成功了
/usr/local/LAMP/php/bin/php -m
# 也可以使用如下方法查看是否安装成功
<?php
echo phpinfo();
?>