我有一台本地测试机器,上面安装了全新的Ubuntu Mate 16.10。默认的PHP版本是PHP 7。然而,为了与我开发的服务器保持一致,我需要运行PHP 5.6。
我尝试按照this answer和this answer中的说明,移除PHP 7并安装PHP 5.6。
看起来我可以同时安装PHP 7和5.6,并切换Apache使用PHP 5.6,但在尝试设置后出现了问题。我可能错了,但似乎Apache仍然连接到一些PHP 7模块,或者至少PHP 5.6安装不完全成功。无论发生了什么,我的网站都出现了问题。
所以,我想尝试清除PHP 7,但这会删除我想要保留的一些模块,比如phpMyAdmin。如果我尝试通过apt-get只安装phpMyAdmin,那么PHP 7模块会被安装。
我担心我的折腾让我的系统变得一团糟,所以我想清理一下并重新开始。为此,我想要卸载 PHP 7,安装 PHP 5.6,并且安装 phpMyAdmin。
或者,至少我需要一个与我开发服务器完全相同的系统,其中安装了 PHP 5.6(换句话说,目标不是卸载 PHP 7,而是确保 PHP 7 不会对 PHP 5.6 造成任何干扰)。我该如何实现这一点呢?
更新:
在评论中遵循了一些建议后,我有了一个功能正常的 PHP 5.6 环境,使得我的网站可以在本地测试机上与服务器上一样运行。 phpMyAdmin 似乎也已经安装好了,我是通过命令行的 apt-get 安装的,安装过程没有出现错误。但是它无法工作。当我加载 phpMyAdmin 时,只能看到一个空白屏幕。
各种我去过的网站都建议运行
我尝试按照this answer和this answer中的说明,移除PHP 7并安装PHP 5.6。
看起来我可以同时安装PHP 7和5.6,并切换Apache使用PHP 5.6,但在尝试设置后出现了问题。我可能错了,但似乎Apache仍然连接到一些PHP 7模块,或者至少PHP 5.6安装不完全成功。无论发生了什么,我的网站都出现了问题。
所以,我想尝试清除PHP 7,但这会删除我想要保留的一些模块,比如phpMyAdmin。如果我尝试通过apt-get只安装phpMyAdmin,那么PHP 7模块会被安装。
我担心我的折腾让我的系统变得一团糟,所以我想清理一下并重新开始。为此,我想要卸载 PHP 7,安装 PHP 5.6,并且安装 phpMyAdmin。
或者,至少我需要一个与我开发服务器完全相同的系统,其中安装了 PHP 5.6(换句话说,目标不是卸载 PHP 7,而是确保 PHP 7 不会对 PHP 5.6 造成任何干扰)。我该如何实现这一点呢?
更新:
在评论中遵循了一些建议后,我有了一个功能正常的 PHP 5.6 环境,使得我的网站可以在本地测试机上与服务器上一样运行。 phpMyAdmin 似乎也已经安装好了,我是通过命令行的 apt-get 安装的,安装过程没有出现错误。但是它无法工作。当我加载 phpMyAdmin 时,只能看到一个空白屏幕。
各种我去过的网站都建议运行
sudo apt-get install --reinstall phpmyadmin
,sudo apt install php-gettext
或sudo dpkg-reconfigure phpmyadmin
来解决问题,但是这些方法都没有起作用。现在,我不知道phpMyAdmin是否因为PHP 7和PHP 5.6之间的冲突而损坏,还是有其他问题。
phpmyadmin
依赖于php-mysql
。如果你只尝试安装php-mysql
,它将安装php7.0-mysql
。然而,如果你手动安装php5.6-mysql
,这 可能 足以满足依赖关系。 - fkraiemphp5.6-mysql
,然后再次安装了PMA。在安装PMA时,它带来了PHP 7模块,但是通过运行sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
,我认为我已经避开了PHP 7的干扰。现在我的情况是我的网站正在工作,表明我有一个正常运行的PHP 5.6环境。不幸的是,PMA没有运行,我只看到一个空白屏幕。所以,在这个过程中有些东西破坏了PMA的安装本身。 - Questioner