Contents

ubuntu编译安装指定php版本的扩展

需求

ubuntu已经安装php7.2,php7.0,php5.6,现在需要给php7.0编译安装swoole扩展

下载源文件,解压,并进入解压文件夹

1
2
3
wget https://github.com/swoole/swoole-src/archive/v2.2.0.tar.gz
tar -zxvf v2.2.0.tar.gz
cd swoole-src-2.2.0

编译安装

1
2
3
phpize7.0
./configure --with-php-config=/usr/bin/php-config7.0 #=号之后不要有空格
make clean && make && sudo make install

关于–with-php-config的路径,可以先

1
2
➜  ~ which php7.0
/usr/bin/php7.0

再使用如下命令,按Tab键

1
2
3
➜  ~ ll /usr/bin/php
php@            php7.0*         php7.2*         php-config@     php-config7.2*  phpize7.0*                                                                            
php5.6*         php7.1*         php7.3*         php-config7.0*  phpize@         phpize7.2*

得到路径:/usr/bin/php-config7.0

配置文件

1
vim /etc/php/7.0/mods-available/swoole.ini

extension=swoole.so

1
2
sudo ln -s /etc/php/7.0/mods-available/swoole.ini /etc/php/7.0/cli/conf.d/20-swoole.ini
sudo ln -s /etc/php/7.0/mods-available/swoole.ini /etc/php/7.0/fpm/conf.d/20-swoole.ini

重启php7.0-fpm

1
sudo service php7.0-fpm restart

查看

1
2
3
4
5
php7.0 -m|grep swoole
#查看完整php信息:
php7.0 -i|less  #按'q'退出,按'↓'查看
#查看扩展版本
php7.0 --ri swoole

切换php版本

1
2
3
4
5
sudo update-alternatives --set php /usr/bin/php8.1 # 切换

sudo update-alternatives --list php # 列出

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1 # 将其他应用加到update-alternatives管理中,注意最后一个priority不能漏

编译安装php后,基础扩展安装

参考

coffee