Ubuntu 14.04:使用 ppa:ondrej 將 php 升級到 5.6 時出現問題

Ubuntu 14.04:使用 ppa:ondrej 將 php 升級到 5.6 時出現問題

我做了以下事情:

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

我收到錯誤:警告:/etc/php/5.6/mods-available 下不存在模組 php5 ini 文件

即使我將 ini 檔案移到該目錄下,它也會給我同樣的錯誤。我不知道我錯過了什麼?

一般來說,有人可以向我解釋如何讓我的實例使用新安裝的版本,因為我的實例上似乎仍然有兩個 php 目錄樹。 php5/.. 和 php/5.6

答案1

您正在以不相容的方式混合不同的 PPA、版本和命令,讓我們將其分解:

  1. libapache2-mod-php5.6存在於ppa:ondrej/php,這確實是您想要使用的 PPA

  2. phpdismod是一個用於停用 PHP 擴充功能的命令,而不是管理 Apache2 模組,您需a2dismod要這樣做

  3. 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 封裝。

相關內容