我已完成以下操作:
sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5.6
sudo add-apt-repository ppa:ondrej/apache2
当我尝试使用以下命令禁用旧版本的 php5 时:
sudo phpdismod php5
我收到错误:警告:模块 php5 ini 文件在 /etc/php/5.6/mods-available 下不存在
即使我将 ini 文件移动到此目录下,也会出现同样的错误。我不知道我遗漏了什么??
总的来说,有人可以向我解释如何让我的实例使用新安装的版本,因为我的实例上似乎仍然有两个 php 目录树。php5/.. 和 php/5.6
答案1
您正在使用不兼容的方式混合使用不同的 PPA、版本和命令,让我们来分析一下:
libapache2-mod-php5.6
存在于ppa:ondrej/php
,这确实是你想要使用的 PPAphpdismod
是用于禁用 PHP 扩展的命令,而不是管理 Apache2 模块的命令,您需a2dismod
要这样做PHP Apache2 模块
ppa:ondrej/php5-5.6
名为libapache2-mod-php5
因此正确的应该是:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php5-common # remove and purge old PHP 5.x packages
sudo apt-get install libapache2-mod-php5.6
如果您不php5-*
先卸载软件包,则需要禁用模块php5
并启用php5.6
模块:
sudo a2dismod php5
sudo a2enmod php5.6
并可选择添加 Apache2 存储库:
sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade
有一个迁移指南适用于 PPA 软件包。