Lnmp Swoole扩展安装

Lnmp Swoole扩展安装

环境

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 已安装成功。

上一篇:swoole源码方式安装


下一篇:swoole 创建TCP服务器