
我做了以下事情:
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、版本和命令,讓我們將其分解:
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 封裝。