Εν ολίγοις: Την έκδοση PHP την αλλάζετε στο hosting συνήθως στην περιοχή πελατών, κάτω από ένα σημείο όπως «Ρυθμίσεις PHP» ή «Έκδοση PHP», συχνά ξεχωριστά ανά domain. Πριν χρειάζεστε αντίγραφο ασφαλείας και τις απαιτήσεις συστήματος του CMS σας, μετά μια δοκιμή λειτουργίας. Σημαντικό μετά το PHP2Shell: η επιλογή καθορίζει μόνο τον κλάδο PHP. Το αν αυτός ο κλάδος έχει patch, πρέπει να σας το επιβεβαιώσει ο πάροχος φιλοξενίας.
Γιατί πολλοί αλλάζουν τώρα την έκδοση PHP
Από το PHP2Shell πολλοί διαχειριστές ιστοτόπων κοιτούν για πρώτη φορά εδώ και χρόνια τις ρυθμίσεις του hosting τους. Συχνά βρίσκουν εκεί PHP 7.4 ή 8.1, επειδή ο ιστότοπος ρυθμίστηκε κάποτε έτσι και δεν κοίταξε ποτέ κανείς. Το έργο PHP δεν τροφοδοτεί πλέον αυτούς τους κλάδους με εκδόσεις· ενάντια στο PHP2Shell παρείχε μόνο ελάχιστες διορθώσεις στον πηγαίο κώδικα για τις 7.4, 8.0 και 8.1.
Η μετάβαση είναι στους περισσότερους παρόχους ένα κλικ. Ακριβώς αυτό την κάνει επικίνδυνη: ένας παλαιότερος ιστότοπος, του οποίου ο κώδικας δεν γράφτηκε για νεότερες εκδόσεις PHP, ίσως δείχνει μετά μόνο ένα μήνυμα σφάλματος. Με λίγη προετοιμασία αυτό αποφεύγεται. Τι αναλαμβάνει ο πάροχος φιλοξενίας στο πλαίσιο του PHP2Shell και τι ανήκει σε εσάς, περιγράφει η σελίδα Shared hosting: τι κάνει ο πάροχος.
Η επιλογή στο panel δεν είναι το patch
Μια συχνή παρεξήγηση: όποιος αλλάζει στην περιοχή πελατών από 8.2 σε 8.3, δεν έχει αυτόματα κλείσει το PHP2Shell. Επιλέγετε έναν κλάδο που παρέχει ο πάροχος φιλοξενίας. Το αν αυτός ο κλάδος περιέχει τις διορθώσεις, δηλαδή βρίσκεται στην 8.3.36 ή έχει επιβεβαιωμένο backport, εξαρτάται από τον πάροχο.
Αντίστροφα ισχύει: αν ο μέχρι τώρα κλάδος σας 8.2 έχει patch στον πάροχο, προστατεύεστε από το PHP2Shell και χωρίς αλλαγή. Η μετάβαση σε νεότερη έκδοση έχει παρ' όλα αυτά νόημα, επειδή η PHP 8.2 φτάνει στο τέλος της υποστήριξης στις 31/12/2026. Το επίπεδο patch ζητήστε το γραπτώς· πρότυπο προσφέρει ο οδηγός Ρωτήστε τον πάροχο φιλοξενίας για την κατάσταση του patch.
Αλλαγή έκδοσης PHP στο hosting: βήμα προς βήμα
Τα ονόματα των μενού διαφέρουν ανά πάροχο. Αναζητήστε στην περιοχή πελατών όρους όπως Ρυθμίσεις PHP, Έκδοση PHP, Διαμόρφωση PHP ή Γλώσσες σεναρίων. Σε πολλούς παρόχους η επιλογή βρίσκεται στη διαχείριση του κάθε domain.
- Σημειώστε την τρέχουσα κατάσταση: Ποια έκδοση PHP τρέχει ανά domain και υποτομέα; Ένα στιγμιότυπο οθόνης των ρυθμίσεων βοηθά στην επιστροφή.
- Δημιουργήστε αντίγραφο ασφαλείας: Αρχεία και βάση δεδομένων, κατά προτίμηση μέσω της λειτουργίας αντιγράφων του παρόχου και επιπλέον ως λήψη.
- Ελέγξτε τις απαιτήσεις: Ποιες εκδόσεις PHP υποστηρίζει το CMS ή το κατάστημά σας στην εγκατεστημένη έκδοση; Αυτό αναγράφεται στις απαιτήσεις συστήματος του κατασκευαστή, για παράδειγμα στο wordpress.org, shopware.com ή typo3.org.
- Ενημερώστε επεκτάσεις και θέματα: Τα παρωχημένα plugin είναι η συχνότερη αιτία σφαλμάτων μετά από αλλαγή PHP. Ενημερώστε τα πριν από τη μετάβαση.
- Χρησιμοποιήστε περιβάλλον δοκιμών, αν υπάρχει: Πολλοί πάροχοι προσφέρουν staging ή αντίγραφο σε υποτομέα. Αλλάξτε πρώτα εκεί.
- Αλλάξτε την έκδοση: Επιλέξτε τη νέα έκδοση, αποθηκεύστε, περιμένετε μερικά λεπτά. Ορισμένοι πάροχοι δεν εφαρμόζουν την αλλαγή αμέσως.
- Δοκιμάστε: Ανοίξτε την αρχική σελίδα, τη φόρμα επικοινωνίας, τη σύνδεση, την αναζήτηση, το καλάθι και τη διαδικασία πληρωμής, συνδεθείτε στην περιοχή διαχείρισης και αποθηκεύστε.
- Διαβάστε το αρχείο καταγραφής σφαλμάτων: Στην περιοχή πελατών υπάρχει συνήθως ένα log σφαλμάτων PHP. Οι προειδοποιήσεις μετά τη μετάβαση δείχνουν πού χρειάζονται προσαρμογές.
Κάντε τη μετάβαση εκτός ωρών αιχμής και φροντίστε να είναι διαθέσιμο, την ώρα που ακολουθεί, ένα άτομο που γνωρίζει τον ιστότοπο. Τα σφάλματα εντοπίζονται συχνά μόνο σε λειτουργίες που χρησιμοποιούνται σπάνια.
Ποια έκδοση είναι η σωστή;
Επιλέξτε τη νεότερη έκδοση που υποστηρίζει επίσημα η εφαρμογή σας. Ο λόγος είναι απλός: κάθε κλάδος PHP λαμβάνει ενημερώσεις ασφαλείας μόνο για περιορισμένο χρόνο. Όσο νεότερος ο κλάδος, τόσο περισσότερη ησυχία έχετε. Τις τρέχουσες διάρκειες αναφέρει το php.net στη σελίδα των υποστηριζόμενων εκδόσεων· πώς λειτουργεί ο κύκλος, εξηγεί η σελίδα Εκδόσεις PHP και κύκλος κυκλοφορίας.
| Κλάδος | Διορθωμένη έκδοση (PHP2Shell) | Αξιολόγηση |
|---|---|---|
| PHP 8.5 | 8.5.12 | υποστηρίζεται τώρα |
| PHP 8.4 | 8.4.27 | υποστηρίζεται τώρα |
| PHP 8.3 | 8.3.36 | υποστηρίζεται τώρα |
| PHP 8.2 | 8.2.35 | η υποστήριξη τελειώνει στις 31/12/2026 |
| PHP 8.1 και παλαιότερες | καμία επίσημη έκδοση | μόνο backports πηγαίου κώδικα ή παρόχων |
Αν η εφαρμογή σας δεν υποστηρίζει καμία έκδοση από την 8.2 και πάνω, η μετάβαση από μόνη της δεν είναι δυνατή. Τότε πρέπει πρώτα να ενημερωθεί ή να αντικατασταθεί η εφαρμογή. Αυτόν τον δρόμο περιγράφει η υπηρεσία μας Μετάβαση από PHP 8.1 και παλαιότερες.
Τυπικά εμπόδια μετά τη μετάβαση
Μια λευκή σελίδα ή ένα σφάλμα 500 υποδηλώνει συνήθως ένα plugin ή θέμα που δεν ανέχεται τη νέα έκδοση. Το αρχείο καταγραφής σφαλμάτων αναφέρει κατά κανόνα αρχείο και γραμμή. Απενεργοποιήστε τον υπεύθυνο ή επιστρέψτε προσωρινά.
Δικές σας ρυθμίσεις PHP χάνονται ορισμένες φορές κατά την αλλαγή. Όποιος για παράδειγμα είχε ορίσει υψηλότερο όριο μεταφόρτωσης ή μεγαλύτερο χρόνο εκτέλεσης για σενάρια, πρέπει να ελέγξει αν αυτές οι τιμές ισχύουν ακόμη για τη νέα έκδοση. Προσέξτε να μην αντικαταστήσετε προσωρινά μέτρα του παρόχου φιλοξενίας ενάντια στο PHP2Shell.
Αν ο ιστότοπος δείχνει μετά τη μετάβαση παλιό περιεχόμενο ή περίεργα σφάλματα, ίσως φταίει μια κρυφή μνήμη. Αδειάστε την κρυφή μνήμη του CMS και τυχόν plugin caching. Αν το πρόβλημα παραμένει, ρωτήστε τον πάροχο φιλοξενίας αν πρέπει να ξαναχτιστούν κρυφές μνήμες στον διακομιστή.
Μην ξεχνάτε υποτομείς, εγκαταστάσεις δοκιμών και παλιούς καταλόγους. Ένα ξεχασμένο αντίγραφο του ιστότοπου σε PHP 7.4 είναι εξίσου ευάλωτο με την κύρια σελίδα. Πώς απαλλάσσεστε από τέτοιες κληρονομιές, περιγράφει το άρθρο Απενεργοποίηση παλιών εκδόσεων PHP.
Πώς βοηθά συγκεκριμένα η PHP SOS;
- Καταγράφουμε ποιες εκδόσεις PHP τρέχουν στα domain και τους υποτομείς σας και διευκρινίζουμε το επίπεδο patch με τον πάροχο φιλοξενίας.
- Ελέγχουμε τη συμβατότητα της εφαρμογής σας και αλλάζουμε πρώτα σε περιβάλλον δοκιμών.
- Συνοδεύουμε τη μετάβαση, αξιολογούμε το αρχείο καταγραφής σφαλμάτων και διορθώνουμε σφάλματα ή επιστρέφουμε ελεγχόμενα.
- Όπου η εφαρμογή δεν ανέχεται υποστηριζόμενη έκδοση, σχεδιάζουμε τη μετάβαση και ασφαλίζουμε το ενδιάμεσο διάστημα.
Συχνές ερωτήσεις
Κλείνει το PHP2Shell η μετάβαση σε νεότερη έκδοση PHP;
Μόνο αν ο πάροχος φιλοξενίας έχει κάνει patch στην επιλεγμένη έκδοση. Στην περιοχή πελατών επιλέγετε συνήθως μόνο τον κλάδο, για παράδειγμα 8.3. Το αν αυτός ο κλάδος βρίσκεται στην 8.3.36 ή σε επιβεβαιωμένο backport, το αποφασίζει ο πάροχος φιλοξενίας.
Ποια έκδοση PHP να επιλέξω;
Τη νεότερη έκδοση που υποστηρίζει το CMS ή το κατάστημά σας σύμφωνα με τις απαιτήσεις συστήματος του κατασκευαστή. Η PHP 8.2 φτάνει στο τέλος της υποστήριξης στις 31/12/2026, γι' αυτό η 8.3 ή νεότερη είναι η καλύτερη επιλογή αν το επιτρέπει η εφαρμογή σας.
Τι συμβαίνει αν ο ιστότοπος δεν λειτουργεί πλέον μετά τη μετάβαση;
Ρυθμίστε ξανά στην περιοχή πελατών την προηγούμενη έκδοση. Σημειώστε το μήνυμα σφάλματος από το αρχείο καταγραφής σφαλμάτων και αναθέστε την αιτία να διορθωθεί προτού το δοκιμάσετε ξανά. Μην μένετε μόνιμα σε έκδοση χωρίς ενημερώσεις ασφαλείας.
Μπορώ να ορίσω διαφορετικές εκδόσεις PHP για διαφορετικά domain;
Σε πολλούς παρόχους ναι, ανά domain, υποτομέα ή κατάλογο. Αυτό είναι πρακτικό για δοκιμές, κρύβει όμως τον κίνδυνο μια παλιά έκδοση να συνεχίζει να τρέχει σε έναν ξεχασμένο υποτομέα.