Ubuntu pecl 多版本 PHP 安装扩展,避免冲突
不知道有人没有遇到过,pecl
在给多版本 PHP 安装同一个扩展的时候会提示重复安装。如下记录解决方法。
1. 安装扩展#
sudo pecl -d php_suffix=8.0 install <package>
我理解
-d php_suffix=
是指定php
命令的后缀,例如-d php_suffix=8.0
则为php8.0
2. 卸载扩展#
sudo pecl uninstall -r <package>
加上
-r
不会删除已安装的好扩展.so
文件
重复以上步骤,再次安装其他 PHP 版本相同扩展就可以正常安装成功了!
3. 一键启用扩展#
在目录下 /etc/php/x.x/mods-available
(x.x
为 php 版本号目录) 创建 ini 文件,例如 yaf.ini
并编辑内容如下
extension=yaf.so
通过执行命令来一键启用 cli 和 fpm 版本扩展
sudo phpenmod -v <php-version> <extension-name>
其中
<php-version>
为 php 版本(单版本可以忽略 -v 参数),<extension-name>
为扩展名
例如,要启用 php8.0 的 yaf 扩展:
sudo phpenmod -v 8.0 yaf
4. 一键禁用扩展#
通过执行命令来一键启用 cli 和 fpm 版本扩展
sudo phpdismod -v <php-version> <extension-name>
其中
<php-version>
为 php 版本(单版本可以忽略 -v 参数),<extension-name>
为扩展名
例如,要禁用 php8.0 的 yaf 扩展:
sudo phpdismod -v 8.0 yaf
8.0
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: