升級 Ubuntu 16.04 都一年了,新版的倉庫自帶的 PHP 是 7+;而今天忽然要對某個老項目進行維護,發現 PHP 版本過高,某些函數已經被取消了;因此查了一下怎麼快捷的切換 PHP 版本,這裏作個筆記。php
默認狀況下,安裝的 PHP 是 7+, 使用 sudo apt install php5
再按 Tab
鍵是沒有任何提示的,由於倉庫裏沒有低版本的 PHP,因此第一步是安裝一個低版本的 PHPmysql
# 查看已經安裝的 PHP 包 dpkg -l | grep php| awk '{print $2}' |tr "\n" " " # 添加 PHP PPA sudo add-apt-repository ppa:ondrej/php # 更新緩存 sudo apt-get update # 安裝 PHP5.6 sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml libapache2-mod-php5.6
參考:How can I downgrade from PHP 7 to PHP 5.6 on Ubuntu 16.04sql
參考:Installing PHP 5.6 on Xenial (16.04)apache
通常狀況下,只須要切換兩處的版本 CGI
和 CLI
分別用於 Apache 等服務器和命令行ubuntu
PHP 7 ->5緩存
# 禁用 Apache 中的 PHP7 sudo a2dismod php7 # 啓用 PHP5.6 sudo a2enmod php5.6 # 重啓 Apache sudo systemctl restart apache2.service # 切換 CLI sudo update-alternatives --set php /usr/bin/php5.6
PHP 5 ->7bash
# 禁用 Apache 中的 PHP5 sudo a2dismod php5.6 # 啓用 PHP7 sudo a2enmod php7 # 重啓 Apache sudo systemctl restart apache2.service # 切換 CLI sudo update-alternatives --set php /usr/bin/php7.0