我执行了 sudo apt-get upgrade。$ sudo apt-get upgrade
升级后,我注意到 etc 目录中有一些 php 5.7 文件和文件夹例如:我看到了 /usr/bin/php7.1 和 /etc/php/7.0、7.1、7.2、7.3
我不确定为什么要安装 7.1 文件,因为我不打算这样做,而且 php 应用程序不适用于 PHP7。
我不确定升级后 /etc/alternatives/php 是否已符号链接到 /usr/bin/php7.1,我如何确认升级是否修改了符号链接?
因此,我执行了以下操作以确保加载的是 5.6 模块/扩展而不是 5.7
$ sudo update-alternatives --set php /usr/bin/php5.6
然后我检查了符号链接:我检查了符号链接
ubuntu@ip:/etc/alternatives$ ls -alth | grep php
lrwxrwxrwx 1 root root 15 Aug 27 14:05 php -> /usr/bin/php5.6
lrwxrwxrwx 1 root root 31 Aug 27 14:05 php.1.gz -> /usr/share/man/man1/php5.6.1.gz
lrwxrwxrwx 1 root root 16 Aug 25 02:21 phpize -> /usr/bin/phpize5
lrwxrwxrwx 1 root root 32 Aug 25 02:21 phpize.1.gz -> /usr/share/man/man1/phpize5.1.gz
lrwxrwxrwx 1 root root 20 Aug 25 02:21 php-config -> /usr/bin/php-config5
lrwxrwxrwx 1 root root 36 Aug 25 02:21 php-config.1.gz -> /usr/share/man/man1/php-config5.1.gz
lrwxrwxrwx 1 root root 21 Mar 16 2017 libphp7 -> /usr/lib/libphp7.1.so
发现 libphp7 已符号链接到 7.1。这有关系吗? 我们不想加载 7.1 模块或扩展,因为我们使用的是 php5.6,但是符号链接 libphp7.1 将来会造成任何问题吗?如果是这样,如何修复这个问题并恢复 5.6.37?
谢谢!
答案1
据我从软件包索引中得知,Ubuntu 14.04 官方支持的最新软件包是 php 5.5.9(https://packages.ubuntu.com/trusty-updates/php5)。
鉴于您提到了 php5.6 和 php7.1,很明显您几乎肯定正在运行来自某些非官方存储库的包。
无论如何,回答你的问题,是的,安装或升级软件包可以更新符号链接并修改“替代方案”。官方软件包几乎从不这样做,除非你的系统如果不更新它们就会处于崩溃状态。
非官方软件包可能不完全遵循开发标准,可能会意外地改变您的默认设置。如果您要使用非官方软件包,我的建议是监视该非官方来源的任何更改日志或邮件列表。此外,您可能应该在开发环境中测试任何升级,这样如果/当事情发生变化时,您可以修复它而不会对生产产生任何影响。