fbpx

Ubuntu Server 16.04 升級 PHP 7.2 (+mcrypt)

Ubuntu Server 16.04 內建的 PHP 只有到 7.0 的版本,最近一些新的 Library 都需要 7.2 了。掛一下第三方 PPA 即可升級,今天升級後順便筆記一下,但是未來還是會全部將 Service 轉變為 Container 模式來維護,像這樣相依 OS 的 Library 實在不怎好。

Ubuntu 16.04 升級 PHP 7.2

原本的版本是 7.0,如下:

ubuntu-16.04-php-7.0

升級 PHP 7.2

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2

啟動 Apache 設定,關閉 PHP 7.0 並啟動 PHP 7.2

sudo a2dismod php7.0
sudo a2enmod php7.2
sudo service apache2 restart

安裝一些常用必要的 PHP Extension,請依需求選擇安裝 (裝有用到的就好了)

sudo apt-get install php7.2-mbstring php7.2-gmp php7.2-gd php7.2-xmlrpc php7.2-xml php7.2-opcache php7.2-json php7.2-mysql php7.2-dom
sudo service apache2 restart

重新啟動 Apache 以後應該就可以順利使用囉。

安裝 PHP Mcrypt Extension (Pecl)

為什麽剛剛沒有一起裝 php-mcrypt 呢?因為新版 PHP 7.2 已經移除 mcrypt 建議改用 openssl library,但是太多歷史的眼淚所以需要保留 mcrypt,以下透過 PECL 來安裝 PHP 7.2 mcrypt。

sudo apt install re2c php7.2-dev libmcrypt-dev
sudo pecl install mcrypt-1.0.1
sudo echo 'extension=mcrypt.so' > /etc/php/7.2/mods-available/mcrypt.ini
sudo phpenmod mcrypt
sudo service apache2 restart

這樣就完成囉

good-luck