环境
LNMP运行环境(Ubuntu14.04 PHP5.5.9 ),系统包含以下运行软件 nginx1.4.6 mysql5.5.44 php5.5.9 apt-get安装,保证系统的纯净,配套组合,运行程序安全稳定。
下载swoole
- 下载 swoole 安装包
$ wget pecl.php.net/get/swoole-1.7.21.tgz
- 解压 swoole 安装包
$ tar zxvf swoole-1.7.21.tgz
- 进入 swoole 目录
$ cd swoole-1.7.21
运行phpize
- 查看 phpize 的位置
$ whereis phpize
phpize:
以上输出说明 phpize 不存在,先进行安装。
- 安装 phpize
$ apt-get update && apt-get install -y php5-dev
- 再次查看 phpize 的位置
$ whereis phpize
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz
以上的输出说明已经成功安装 phpize,可以看到 phpize 的位置在
/usr/bin/phpize
。
- 运行 phpize
$ /usr/bin/phpize
phpize 是一个运行脚本,主要作用是检测 php 的环境以及在特定的目录生成相应的 configure 文件,这样 make install 之后,生成的 .so 文件才会自动加载到 php 扩展目录下面。
安装swoole
- 查看 php-config 的位置
$ whereis php-config
php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz
- 配置
$ ./configure --with-php-config=/usr/bin/php-config
./configure 的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖,–with-php-config 参数是来指定使用哪一个 php 版本来编译。
- 构建
$ make && make test
当 configure 配置完毕后,可以使用 make 命令执行构建。这个过程会执行在 Makefile 文件中定义的一系列任务将软件源代码编译成可执行文件。如果报错
fatal error: pcre.h
,执行apt-get install -y libpcre3-dev
。make test 是对 make 的检查,确保通过所有的测试。
- 安装
$ make install
Installing shared extensions: /usr/lib/php5/20121212/
make install 命令是将可执行文件、第三方依赖包和文档复制到正确的路径。以上输出的就是 php 扩展(extension dir)的路径,安装成功的 swoole.so 就在该目录里。
- 查看 php 的配置文件
$ php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-mysql.ini,
/etc/php5/cli/conf.d/20-mysqli.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini,
/etc/php5/cli/conf.d/20-readline.ini
- 手动创建 swoole 配置文件
$ echo extension=swoole.so >> /etc/php5/cli/conf.d/20-swoole.ini
- 查看 swoole 扩展
$ php -m | grep swoole
swoole
以上输出说明 swoole 已安装成功。