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