Tι ακριβώς είναι η PHP

Η PHP είναι μια από τις πιο διαδεδομένες γλώσσες προγραμματισμού όχι μόνο διαδικτύου, αλλά και γενικότερα. Σύμφωνα με το W3Techs, χρησιμοποιείται από το 78% των δυναμικών εφαρμογών που πρακτικά σημαίνει πως 8 στις 10 σελίδες που επισκεπτόμαστε καθημερινά χρησιμοποιούν την PHP.

Μάλιστα, μια από τις πιο γνωστές web εφαρμογές/υπηρεσίες του διαδικτύου, το Facebook, ξεκίνησε σε PHP αν και αργότερα εξέλιξε την δική του έκδοση της γλώσσας.

Γιατί υπάρχουν τόσες πολλές εκδόσεις PHP

Ως μια «ζωντανή» γλώσσα, η PHP εμπλουτίζεται με νέες λειτουργίες και γίνεται ταχύτερη με την πάροδο του χρόνου. Ταυτόχρονα ανακαλύπτονται νέες τρύπες ασφαλείας που η ομάδα της PHP «τρέχει» να κλείσει.

Το τελευταίο ισχύει όμως μόνο για τις υποστηριζόμενες εκδόσεις (εκδόσεις που παίρνουν ακόμη ενημερώσεις), που την στιγμή γραφής αυτού του άρθρου είναι οι 7.2, 7.3 και 7.4.

Συνεπώς αν τρέχετε παλαιότερη έκδοση, εκτός του ότι η εφαρμογή σας μπορεί να είναι πιο αργή ή να καταναλώνει πολλή μνήμη, είναι εκτεθειμένη σε τρύπες ασφαλείας.

Πίνακας υποστηριζόμενων εκδόσεων PHP
Υποστηριζόμενες εκδόσεις PHP, βάσει του επισήμου χρονοδιαγράμματος. 11/12/2019.

Έκδοση PHP και ταχύτητα ιστοσελίδας

Σκεφτείτε πως μόνο η μετάβαση από έκδοση 5.x σε 7.x, μπορεί να κάνει το site ή την εφαρμογή σας από 3 έως 5 φορές πιο γρήγορη και με υποδεκαπλάσια χρήση μνήμης!

Άλλωστε οι περισσότερες εφαρμογές εκτός του ότι υποστηρίζουν τελευταίες εκδόσεις της PHP, προτείνουν να τις χρησιμοποιήτε.

Η ομάδα του WordPress μάλιστα προτείνει να χρησιμοποιούμε τουλάχιστον την έκδοση 7.3, που για πολλούς φαίνεται «νέα». Αν ωστόσο συμβουλευτείτε το παραπάνω διαγράμματα μπορείτε να δείτε πως είναι η παλαιότερη έκδοση με ενεργή υποστήριξη από την επίσημη ομάδα της PHP.

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

Σύγκριση επιδόσεων διαφορετικών εκδόσεων PHP
Το παραπάνω γράφημα δείχνει πως η PHP 7.0 (η οποία είναι πλέον αργή σε σχέση με την 7.3 και 7.4) μπορεί να εξυπηρετήσει 200%(+) παραπάνω requests στο μισό χρόνο έναντι της PHP 5.6. Πηγη: Rasmus Lerdorf, PHP Fluent Talk
Σύγκριση επιδόσεων διαφορετικών εκδόσεων PHP
PHP performance comparison, Christian Vigh

Όπως βλέπουμε, κάθε επόμενη έκδοση της PHP είναι σημαντικά πιο γρήγορη. Η διαφορά της 7.1 με την 5.6 είναι της τάξεως του 300%, με την διαφορά μεταξύ των 7.1 και 5.3 να φτάνει το 500%. Επίσης, βάσει μετρήσεων της εταιρείας Kinsta, η PHP 7.3 είναι κατά μέσο όρο 9% πιο γρήγορη από την 7.2 στο WordPress.

Κενά ασφαλείας σε παλαιότερες εκδόσεις PHP

Ένα απ’ τα μεγαλύτερα προβλήματα των παλαιών εκδόσεων PHP εκτός της ταχύτητας, είναι φυσικά η ασφάλεια. Αυτή τη στιγμή, καμία έκδοση της PHP πριν την 7.2 δεν έχει ενεργή υποστήριξη.

Αυτό πρακτικά σημαίνει πως αν εντοπιστεί κάποιο πρόβλημα ασφαλείας σε παλαιότερη έκδοση της γλώσσας η ομάδα της PHP δεν θα εκδόσει ενημέρωση ή διόρθωση.

Θα μπορούσε κάποιος εδώ να ισχυριστεί πως υπάρχουν “Web Application Firewalls”, δηλαδή ειδικά προγράμματα ασφαλείας που προστατεύουν τις εφαρμογές. Ωστόσο κι αυτά τα συστήματα συνήθως τρέχουν πάνω στην ίδια, «τρύπια» PHP με ότι αυτό συνεπάγεται…

Κενά ασφαλείας στην PHP ανά έτος
Τρύπες ασφαλείας PHP ανά χρόνο, CVE Details.

Σύμφωνα μάλιστα με το CVE Details, το 2016 ήταν μια απ’ τις χειρότερες χρονιές της PHP με πάνω από 100 τρύπες ασφαλείας σε σοβαρά κομμάτια του πυρήνα της γλώσσας, από buffer overflows, καταστροφή περιεχομένων μνήμης, XSS, μέχρι πρόσβαση σε καταλόγους συστήματος.

Γιατί τόσο μεγάλο μέρος του Internet «τρέχει» σε out of date εκδόσεις PHP

Μερίδιο αγοράς εκδόσεων PHP σε εγκαταστάσεις WordPress to 2019
Στατιστικά εκδόσεων PHP σε εγκαταστάσεις WordPress, 11/12/2019.

Όπως βλέπουμε στο παραπάνω διάγραμμα, λιγότερο από το 14% των εγκαταστάσεων WordPress παγκοσμίως τρέχουν την 7.3, και 23% την “legacy” 7.2.

Υπάρχουν πολλοί λόγοι που τόσο μεγάλο μέρος του Internet επιμένει να «τρέχει» σε παλαιότερες εκδόσεις της PHP. Ας δούμε μερικούς:

  • Εφαρμογές που γράφτηκαν πριν χρόνια, χρησιμοποιώντας παλιές λειτουργίες της γλώσσας που αφαιρέθηκαν ή αλλάξανε. Όπως αναφέραμε στην αρχή του άρθρου, η γλώσσα PHP είναι ζωντανή και αναπτύσσεται διαρκώς. Πρέπει να προσαρμόζουμε τις εφαρμογές μας και να τις ενημερώνουμε.
  • Plugins και Extensions που «πατάνε» στις συγκεκριμένες λειτουργίες
  • Μη διαθεσιμότητα νεοτέρων εκδόσεων στον web hosting provider. Πολλοί web hosts χρησιμοποιούν παρωχημένα Control Panels, παρωχημένες εκδόσεις λειτουργικού συστήματος και δεν δύναται να τα αναβαθμίσουν χωρίς «format» όλου του server. Κάτι εξαιρετικά δύσκολο όταν ο «μέσος» shared provider χαμηλού κόστους φιλοξενεί εκατοντάδες ή και χιλιάδες ιστοσελίδες σε κάθε server του.
  • Άγνοια των ιδιοκτητών/διαχειριστών – κάτι που βλέπουμε συχνά σε VPS καθώς οι ιδιοκτήτες συνήθως είναι σχετικά άπειροι, έχοντας «στήσει» το σύστημα με κάποιο guide ή μισθώνοντας κάποιον τρίτο για one-time setup. Πάνω σε αυτό, έχουμε γράψει και άρθρο: Γιατί Να ΜΗΝ Πάρεις VPS.

Πόσο έυκολη είναι η αναβάθμιση της PHP σε μια τυπική ιστοσελίδα;

Γενικά, αν οι εφαρμογές / ιστοσελίδες σας είναι «γραμμένες» βάσει των προτύπων της ομάδας της PHP, είναι ενημερωμένες και συντηρούνται, δεν θα έχετε πρόβλημα στο να αναβαθμίσετε σε νεότερη έκδοση.

Εάν είστε πελάτης φιλοξενίας της FASTPATH και τρέχετε legacy έκδοση της PHP, επικοινωνήστε με την τεχνική μας υποστήριξη να σας βοηθήσουμε να αναβαθμίσετε χωρίς καμία επιπλέον χρέωση.

Η FASTPATH είναι ο πρώτος πάροχος στην Ελλάδα που υποστηρίζει επίσημα την PHP 7.4

Στη FASTPATH, όντας «παθιασμένοι» με την ασφάλεια και την ταχύτητα, αρχίσαμε να εγκαθιστούμε την τελευταία έκδοση της PHP την ημέρα της κυκλοφορίας της – 28 Νοεμβρίου 2019 – αρχικά στους πελάτες Managed Hosting.

Λίγες μέρες αργότερα έγινε και η πλήρης εγκατάσταση της 7.4 και στα Plesk συστήματά μας, τα οποία δε θα μπορούσαν παρά να τρέχουν την τελευταία έκδοση του Plesk, το Plesk Obsidian.

Αν είστε συνδρομητής μας μπορείτε να ζητήσετε την ενεργοποίησή της PHP 7.4 απλά και γρήγορα ανοίγοντας ένα ticket!

Σημαντική σημείωση: Σε περίπτωση που χρησιμοποιείτε εφαρμογές κλειστού κώδικα που προστατεύονται από το IonCube, η νεότερη έκδοση PHP που μπορείτε να χρησιμοποιήσετε είναι η 7.3 έως ότου δημοσιευτούν οι νέοι loaders του για την PHP 7.4.

Premium Hosting στην Ελλάδα από 4,9€ / Μήνα

Επέλεξε και εσύ Premium Hosting από την FASTPATH και εξασφάλισε για την ιστοσελίδα σου κορυφαίες επιδόσεις, services που λειτουργούν σωστά και πρωτίστως άρτια καταρτισμένη και αποτελεσματική υποστήριξη.

Μάθε Περισσότερα

Εν κατακλείδι

Είναι πολύ σημαντικό να κρατάτε τις εφαρμογές σας ενημερωμένες και να κάνετε χρήση των νεότερων και κατά συνέπεια ασφαλέστερων πακέτων λογισμικού. Με αυτόν τον τρόπο εξασφαλίζετε την βέλτιστη δυνατή εμπειρία για τους χρήστες των ιστοσελίδων και εφαρμογών σας.

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