Manually upgrade php from 7.0 to 7.2

จาก Wiki Opensource

ปรับปรุงครั้งล่าสุดวันที่ 22-11-2562
เขียนโดย วิบูลย์

1. เข้าเป็น root

sudo su -


2. รวบรวม php module ที่ใช้ แล้วจดไว้เพื่อติดตั้งเป็น 7.2

dpkg --get-selections | grep -v deinstall | grep php7.0

ผลลัพธ์

libapache2-mod-php7.0                           install
php7.0                                          install
php7.0-cli                                      install
php7.0-common                                   install
php7.0-curl                                     install
php7.0-gd                                       install
php7.0-intl                                     install
php7.0-json                                     install
php7.0-mbstring                                 install
php7.0-mysql                                    install
php7.0-opcache                                  install
php7.0-readline                                 install
php7.0-soap                                     install
php7.0-xml                                      install
php7.0-zip                                      install


3. หยุด application ที่ใช้งาน php

4. ทำการเพิ่ม source list ที่จะทำให้เมื่อสั่ง update จะได้รุ่นที่สูงกว่า โดยไปใช้ ppa:ondrej

apt-get update
apt-get install python-software-properties
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php


5. ผลลัพธ์จะได้ประมาณนี้

Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa

You can get more information about the packages at https://deb.sury.org

BUGS&FEATURES: This PPA now has a issue tracker:
https://deb.sury.org/#bug-reporting

CAVEATS:
1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman
2. If you are using apache2, you are advised to add ppa:ondrej/apache2
3. If you are using nginx, you are advise to add ppa:ondrej/nginx-mainline
   or ppa:ondrej/nginx

PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/

WARNING: add-apt-repository is broken with non-UTF-8 locales, see
https://github.com/oerdnj/deb.sury.org/issues/56 for workaround:

# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 More info: https://launchpad.net/~ondrej/+archive/ubuntu/php
Press [ENTER] to continue or ctrl-c to cancel adding it


6. หลังจากกด Enter ได้ผลลัพธ์แบบนี้

gpg: keyring `/tmp/tmp50siekm_/secring.gpg' created
gpg: keyring `/tmp/tmp50siekm_/pubring.gpg' created
gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp50siekm_/trustdb.gpg: trustdb created
gpg: key E5267A6C: public key "Launchpad PPA for Ondřej Surý" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK


7. เริ่ม update และ ติดตั้ง

apt-get update
apt-get install php7.2


8. สั่ง disable module เก่า enable อันใหม่ แล้ว restart service apache2

a2dismod php7.0
a2enmod php7.2
service apache2 restart


9. ติดตั้ง php module ที่จดรายการไว้จาก php7.0

apt-get install libapache2-mod-php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-intl php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-soap php7.2-xml php7.2-zip


10. แล้ว restart service apache2

service apache2 restart


11. ตรวจสอบความครบถ้วนว่าได้ php module ที่ใช้

dpkg --get-selections | grep -v deinstall | grep php7.2


Reference: