阿里雲 Ubuntu 14.04 LTS 中將 PHP 從 5.5 升級到 7.x 完整筆記

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/m0_37133016/article/details/80901595

最近橋邊紅藥同學給我反映說 Laravel 學堂用戶登錄退出功能報錯,我去看了下確實如此,查看源碼發現是 PHP 版本的問題,Flarum 框架要求 PHP 版本>=5.6.0,而現在服務器上 PHP 的版本是 5.5.9,所以有必要進行升級,爲了一步到位,直接升級到 PHP 7.0 版本。現將升級步驟記錄如下,以供有類似需求同學參考。

注:服務器環境是阿里雲 ECS Ubuntu 14.04 LTS 版本。

首先添加一個 PHP 7.0 更新源:

sudo add-apt-repository ppa:ondrej/php

然後運行更新命令:

sudo apt-get update

接下來使用通過如下命令安裝 PHP 7.0:

sudo apt-get install php7.0

安裝完成後通過命令行即可檢測是否安裝成功:

然後安裝兩個必備擴展包:

sudo apt-get install php7.0-mysql
sudo apt-get install php7.0-fpm

再根據項目需要選擇安裝相應的可選擴展包:

sudo apt-get install php7.0-curl php7.0-dom php7.0-gd php7.0-mbstring php7.0-memcached php7.0-zip

至此,升級工作結束,接下來我們需要啓動新的 FPM 服務:

sudo service php7.0-fpm restart

啓動成功後,去 Nginx 站點配置中修改監聽的 FPM 服務:

如果有多個站點,則所有站點配置都需要修改,修改完成之後,重啓 Nginx 服務:

sudo service nginx reload

然後立即驗證線上站點功能是否OK,確認無誤後停掉原來的 FPM 服務:

sudo service php5-fpm stop

至此,我們的升級工作全部完成。

注:如果要升級到 PHP 7.1,也很簡單,將上面所有步驟中的 7.0 替換成 7.1 進行安裝即可。7.2 也是同理,依次類推。

Ubuntu上官方的源,比如 Ubuntu14.04 默認源中的是 PHP5.6.x、Ubuntu16.04 默認源中的是 PHP7.0.x,那麼如果想在 Ubuntu16.04 上安裝 PHP7.1,PHP7.2,應該怎麼辦呢?

答案是通過第三方的源來安裝,ppa:ondrej/php 是一個比較知名的PHP源(目前維護php5.6,php7.0,php7.1,php7.2)。下面就用這個源來安裝自己想要的PHP版本。

1.通過源安裝PHP

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.1  # for PHP 7.1
sudo apt-get install php7.0  # for PHP 7.0
sudo apt-get install php5.6  # for PHP 5.6

2.安裝相關版本的PHP模塊

sudo apt-cache search php7*
...
php-all-dev - package depending on all supported PHP development packages
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
php7.0-curl - CURL module for PHP
php7.0-dev - Files for PHP7.0 module development
php7.0-gd - GD module for PHP
php7.0-gmp - GMP module for PHP
...
...
...
php7.1-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.1-xmlrpc - XMLRPC-EPI module for PHP
php7.1-zip - Zip module for PHP
php7.1-opcache - Zend OpCache module for PHP
php7.1 - server-side, HTML-embedded scripting language (metapackage)
php7.1-xsl - XSL module for PHP (dummy)
...
...
php7.2-bcmath - Bcmath module for PHP
php7.2-bz2 - bzip2 module for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dba - DBA module for PHP

3.選擇需要的模塊,安裝之

sudo apt-get install php7.2-curl php7.2-dev php7.2-gd php7.2-imap php7.2-intl php7.2-mbstring php7.2-mysql php7.2-xml php7.2-zip

4.切換PHP版本

sudo update-alternatives --config php

5.設置Apache與正確的PHP版本一起運行

sudo a2dismod php7.1        # unload the current version
sudo a2enmod  php5.6        # load the version you need
sudo service apache2 restart # restart webserver to apply


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章