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:

You can get more information about the packages at

BUGS&FEATURES: This PPA now has a issue tracker:

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:

WARNING: add-apt-repository is broken with non-UTF-8 locales, see for workaround:

# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 More info:
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
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)

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