swoole 如何编译安装?swoole 如何重新定义 php
发布于 作者:苏南大叔 来源:程序如此灵动~本文中,苏南大叔主要介绍的内容是:一款php
扩展swoole
,这款swoole
是国人作品。swoole
并不是一款普通的php
扩展,它和其它php
扩展的差别在于:swoole
并不是给php
扩展一些函数,而是全面接管php
。那么,关于swoole
重新定义php
的说法,是怎么来的。大概就知晓了吧?
本文测试环境:centos7
/swoole4.2.12
/php72
。
swoole
官方网站
swoole
的官方网址是:
Swoole:面向生产环境的 PHP 异步网络通信引擎
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
方案一:pecl
安装swoole
本方案适合新人,简单易于操作。
通过pecl
来快速安装swoole
:
pecl install swoole
通过pecl
来快速升级swoole
:
pecl update swoole
方案二:源码编译安装swoole
苏南大叔对于swoole
的安装,更倾向于源码安装。毕竟php
的扩展安装,目前来看,也不是那么的高不可攀。所以,不妨试试看?在通过源码安装swoole
的过程中,苏南大叔的测试环境是: centos7
和宝塔面板6.8.4
。由于这个因素,所以试验过程中,就稍稍增添了一点点的未知变量。
下载release
源码
swoole
官方文档里面,有明确说明:希望大家下载release
里面的源码,而不要下载master
里面的源码。可能会编译不通过。所以,苏南大叔也听取官方的建议,下载到截至到发稿最新的4.2.12
版本。
注意:当你看到这篇文字的时候,这个版本号很有可能发生了变化,请替换版本号到最新的!
- https://github.com/swoole/swoole-src/releases
- https://github.com/swoole/swoole-src/archive/v4.2.12.tar.gz
使用的命令是:
wget https://github.com/swoole/swoole-src/archive/v4.2.12.tar.gz
tar zxvf v4.2.12.tar.gz
cd swoole-src-4.2.12
当然,您还可以选择git clone
官方的master
版本:
git clone https://github.com/swoole/swoole-src.git
cd swoole-src
配置信息
大家都知道,php
的扩展安装,需要做个phpize
和./configure
动作。而在苏南大叔的宝塔环境里面,这两个命令是有所变形的。
正常的命令:
phpize
./configure
由于宝塔面板里面,php
是个多版本共存的状态,所以,phpize
和./configure
又添加了新的变数。苏南大叔实际执行的命令是:
/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
关于./configure
,swoole
官方还提供了额外的几个参数,用于定制swoole
的具体功能。分别是:
- --enable-openssl
- --enable-sockets
- --enable-http2, --with-nghttp2-dir=/path/to (need nghttp2)
- --enable-mysqlnd (need mysqlnd)
- --enable-async-redis, --with-hiredis-dir=/path/to (need hiredis, build-in in v4.2.6 or later)
苏南大叔暂时不对这几个参数做评价,暂时就保持默认的./configure
状态了。
编译build
及生效
make && make install
不出意外的话,编译成功就可以得到一个swoole.so
了。在php.ini
中启用即可,注意重启php
生效:
extension = swoole.so
对于苏南大叔的编译环境来说,这个swoole.so
文件的位置是:
/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
查看swoole
信息
重启php
之后,就可以通过phpinfo()
查看具体的swoole
信息了。
phpinfo();
相关链接
总结
swoole
作为重新定义php
的新兴事物,是值得大家关注和学习的。同时,swoole
也提供了一个类似zephir
的方式,可以以较低的学习成本,编写php
扩展的方式。这个swoole
提供的方式,被称之为phpx
。
phpx
这种扩展的编写方式,是苏南大叔所感兴趣的。那么,phpx
的具体的使用方式,苏南大叔会在后续的文章中,有所提及。敬请关注苏南大叔的swoole
系列文章。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。