Εγκατάσταση ή αναβάθμιση PHP στην έκδοση 8.1 για Apache webserver σε Debian OS

Παρακάτω θα περιγράψουμε την διαδικασία εγκατάστασης ή αναβάθμισης της PHP στην έκδοση 8.1 για  Apache web server ο οποίος τρέχει σε λειτουργικό Debian (εκδόσεις 9 10 ή 11). Η διαδικασία είναι απαραίτητο να γίνει από όσους διατηρούν και συντηρούν οι ίδιοι το site τους σε κάποιον VPS provider και έχει δοκιμαστεί με επιτυχία σε Digitalocean & Linode VPS instances.

Ολες οι ενέργειες γίνονται σαν root ή σαν admin χρήστης με sudo privileges.. Πριν ξεκινήσουμε θα πρέπει να έχουμε πάρει ένα full backup (ή snapshot) για ευνόητους λόγους.

Bήμα 1: Βεβαιωνόμαστε ότι το Debian OS είναι updated

# apt update

# apt upgrade -y && reboot

Bήμα 2: Προσθέτουμε το SURY third party repository

# apt -y install lsb-release apt-transport-https ca-certificate

# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

# echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” | tee /etc/apt/sources.list.d/php.list

Bήμα 3: Eγκαθιστούμε την PHP 8.1 για Debian καθώς και όλα τα απαραίτητα modules για το συγκεκριμένο software

# apt update

# apt -y install php8.1

# update-alternatives –set php  /usr/bin/php8.1  

# apt -y install php8.1-cli php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml php8.1-xsl php8.1-zip php8.1-bz2

Bήμα 4: Ενεργοποιούμε το σχετικό module για Apache2  

# apt -y install libapache2-mod-php8.1

# systemctl reload apache2

Πρακτικά εχουμε τελειώσει κάπου εδώ. Απομένει να δούμε ότι όντως η έκδοση εχει εγκατασταθεί επιτυχώς

# php -v

 Αν όλα εχουν πάει καλά τότε θα πρέπει να πάρουμε ένα αποτέλεσμα όπως περίπου φαίνεται παρακάτω

PHP 8.1.13 (cli) (built: Nov 26 2022 14:29:42) (NTS)

Copyright (c) The PHP Group

Zend Engine v4.1.13, Copyright (c) Zend Technologies

with Zend OPcache v8.1.13, Copyright (c), by Zend Technologies

Για να είμαστε σίγουροι ότι ο Apache βλέπει την PHP 8.1 που εγκαταστήσαμε  τρέχουμε τις παρακάτω εντολές

#  a2dismod php7.4 (εδώ βάζουμε την προηγούμενη έκδοση που μπορεί να είχαμε  όποια ήταν αυτή για να βεβαιωθούμε ότι εχει γίνει disabled).

#  a2enmod php8.1

# systemctl restart apache2

Ειμαστε έτοιμοι!! Αν θέλουμε κάνουμε ένα restart / reboot to VPS instance στο οποίο τρέχει το site μας.

# shutdown -r now