介绍
尽管 PHP 软件源提供了不少 PHP 扩展,但并不是提供所有的扩展,那么如果我们需要安装一个软件源没有提供的扩展应该怎么办呢?
利用 php-dev 就可以很方便的进行自行编译 PHP 扩展了。不过如果有使用 PHP 多版本共存就会更加麻烦一点。
单一PHP
一、安装 php-dev ,如果不是 7.1 需要自己修改一下版本号:
- apt install php7.1-dev
二、以安装 Swoole 为例:
- pecl install swoole
三、添加配置文件:
- cd /etc/php/7.1/fpm/conf.d/
- touch swoole.ini
- echo "extension=swoole.so" | tee -a swoole.ini
四、重启 php-fpm 即可:
- systemctl restart php7.1-fpm
多PHP共存
因为多个 PHP 就不能简单粗暴的使用 pecl 安装了,因为安装好了不知道是给谁用的。这里以 PHP7.1 和 PHP5.6 为例,还是 swoole。
一、安装 php-dev:
- apt install php7.1-dev php5.6-dev
二、下载 swoole 源码 ,地址: http://pecl.php.net/package/swoole
- cd /root/src
- wget http://pecl.php.net/get/swoole-1.9.15.tgz
- tar xzf swoole-1.9.15.tgz
- cd swoole-1.9.15
三、为 PHP7.1 进行编译
- cd /root/src/swoole-1.9.15
- /usr/bin/phpize7.1
- ./configure --with-php-config=/usr/bin/php-config7.1
- make && make install
四、为 PHP5.6 进行编译
- cd /root/src/swoole-1.9.15
- /usr/bin/phpize5.6
- ./configure --with-php-config=/usr/bin/php-config5.6
- make && make install
五、添加 PHP7.1 配置文件
- cd /etc/php/7.1/fpm/conf.d/
- touch swoole.ini
- echo "extension=swoole.so" | tee -a swoole.ini
六、添加 PHP5.6 配置文件
- cd /etc/php/5.6/fpm/conf.d/
- touch swoole.ini
- echo "extension=swoole.so" | tee -a swoole.ini
七,重启 PHP-FPM
- systemctl restart php7.1-fpm
- systemctl restart php5.6-fpm