Παρακάτω θα περιγράψουμε την διαδικασία εγκατάστασης ή αναβάθμισης της 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