介绍
尽管 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
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。