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 版本相同扩展就可以正常安装成功了!

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2

用ondrej的三方源

ubuntu:

sudo apt-add-repository ppa:ondrej/php

debian:

apt-get update
apt-get -y install apt-transport-https lsb-release ca-certificates curl
curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

apt-get update之后

只需要 apt-get install php[7.2|8.0|7.4|8.1]-[php|fpm] 就能安装指定版本的php和fpm

apt-get install php[version]-ext_name 可以安装指定版本php的指定扩展(如果有支持的话)


CentOS/Fedora/AlmaLinux/RockyLinux/OracleLinux等RPMs系的可以用remi的源。大同小异。

1周前 评论
王小大 (楼主) 1周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!