本文以安装swoole扩展为例,记录一下PHP编译安装pecl拓展的方法,本机环境军哥的LNMP,具体如下~

1. 下载并解压swoole文件压缩包

wget http://pecl.php.net/get/swoole-1.9.21.tgz && tar zxvf swoole-1.9.21.tgz 

2. 进入swoole目录

cd swoole-1.9.21 

3. 执行phpize (phpize命令是用来准备PHP扩展库的编译环境的,每个人的phpize命令的路径可能不同,不要直接复制执行)

/usr/local/php/bin/phpize

4. 对即将安装的软件进行配置(configure 作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系)

./configure --with-php-config=/usr/local/php/bin/php-config
出现以下内容表示检查通过
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged

5: 编译安装

make && make install

执行完make install会看到类似这样的信息:

Installing shared extensions:   /usr/local/php/lib/php/extensions/no-debug-non-zts-20171019/

该路径为PHP扩展(extension_dir)的路径,安装成功的swoole.so就在该目录里。

如果安装失败,可以通过make test查看原因

6: 添加swoole拓展

vi /usr/local/php/lib/php.ini 添加extension=swoole.so

7: 重启PHP的FastCGI进程管理器

service php-fpm restart
可以通过phpinfo查看是否加载成功。