Ubuntu 18.04已装PHP7.2时无法安装PHP5.6的问题求助
解决Ubuntu 18.04同时安装PHP5.6与PHP7.2失败的问题
问题重现
已在Ubuntu 18.04笔记本上安装PHP7.2,尝试安装PHP5.6时执行以下命令:
sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6
执行后得到提示:
正在读取软件包列表... 完成 正在构建依赖树 正在读取状态信息... 完成 注意,为正则表达式 'php5.6' 选中 'php5.6-json' 注意,为正则表达式 'php5.6' 选中 'php5.6-common' 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 25 个软件包未被升级。
原因分析
这个提示说明系统要么认为PHP5.6相关包已安装,要么PPA源的包信息未正确更新,导致无法识别可用的PHP5.6安装包。
解决步骤
1. 重置PPA源
先移除现有PPA,重新添加并更新源信息:
sudo add-apt-repository --remove ppa:ondrej/php sudo apt-get update sudo add-apt-repository ppa:ondrej/php sudo apt-get update
2. 强制安装PHP5.6及对应扩展
使用--reinstall参数强制安装,同时注意指定PHP5.6版本的xdebug(通用php-xdebug会默认匹配PHP7.2):
sudo apt-get install --reinstall php5.6 php5.6-common php5.6-mysql php5.6-mbstring php-gettext libapache2-mod-php5.6 php5.6-xdebug
3. 切换PHP版本(可选)
如果需要在CLI或Apache中切换到PHP5.6:
- CLI环境切换:
sudo update-alternatives --set php /usr/bin/php5.6
- Apache服务切换:
sudo a2dismod php7.2 sudo a2enmod php5.6 sudo systemctl restart apache2
4. 验证安装结果
执行以下命令确认PHP5.6是否安装成功:
php -v
输出中包含PHP 5.6.x即表示安装成功。
内容的提问来源于stack exchange,提问作者Aman Verma
相关产品推荐
相关产品推荐

