Ενότητα 7 · 7.2
Τι απαιτεί ένα ηλεκτρονικό κατάστημα από το hosting
Ενότητα 7: Ευρεσιμότητα και hosting · Χρόνος ανάγνωσης: 10 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα μπορείτε να κρίνετε αν ένα πακέτο hosting ταιριάζει σε ένα κατάστημα WooCommerce, να ελέγχετε και να προσαρμόζετε τις σημαντικότερες ρυθμίσεις PHP και να αναγνωρίζετε πότε το πακέτο σας γίνεται πολύ μικρό.
Βασικές έννοιες: συστάσεις διακομιστή, Έκδοση PHP, όριο μνήμης WordPress (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, βάση δεδομένων, object cache, CPU, διεργασίες, 503, Resource Limit Is Reached, WooCommerce > Κατάσταση, αναβάθμιση
Ένα κατάστημα είναι πιο απαιτητικό από έναν απλό ιστότοπο
Ένας απλός ιστότοπος WordPress με cache σελίδων εξυπηρετεί τους περισσότερους επισκέπτες από αποθηκευμένο HTML. Ένα ηλεκτρονικό κατάστημα μπορεί να το κάνει μόνο εν μέρει (μάθημα 6.4): το καλάθι, η ολοκλήρωση αγοράς και ο Ο λογαριασμός μου δημιουργούνται ξανά για κάθε επισκέπτη, και μόλις κάποιος βάλει κάτι στο καλάθι, αποκτά μια συνεδρία και η cache συχνά δεν ισχύει πλέον γι' αυτόν. Επιπλέον:
- κάθε παραγγελία γράφει στη βάση δεδομένων (παραγγελία, γραμμές, διευθύνσεις, απόθεμα, σημειώσεις)·
- ο πάροχος πληρωμών ενημερώνει μέσω ενός webhook ότι έγινε η πληρωμή, και αυτό το αίτημα πρέπει να λάβει γρήγορα απάντηση·
- το WooCommerce έχει προγραμματισμένες ενέργειες που εκτελούνται στο παρασκήνιο (μάθημα 7.3)·
- η διαχείριση (παραγγελίες, αναφορές, επεξεργασία προϊόντων) είναι πιο απαιτητική από ό,τι σε ένα blog.
Ένα κατάστημα που λειτουργεί άψογα σε ένα μικρό πακέτο με δέκα παραγγελίες την ημέρα μπορεί να κολλήσει σε μια περίοδο εκπτώσεων με εκατοντάδες ταυτόχρονους επισκέπτες. Γι' αυτό αξίζει να γνωρίζετε τι αντέχει το πακέτο σας.
Τι συνιστά το WooCommerce
Το WooCommerce δημοσιεύει συνιστώμενες ρυθμίσεις διακομιστή (κατάσταση Νοεμβρίου 2026, για την έκδοση 10.8 και νεότερες):
| Στοιχείο | Σύσταση |
|---|---|
| WordPress | 6.9 ή νεότερη |
| PHP | 8.3 ή νεότερη (δοκιμασμένη έως και την 8.4) |
| Βάση δεδομένων | MySQL 8.0 ή νεότερη, ή MariaDB 10.6 ή νεότερη |
| Όριο μνήμης WordPress | 256 MB ή περισσότερο |
| HTTPS | υποχρεωτικό |
Αυτές είναι συστάσεις και όχι ελάχιστες απαιτήσεις: το ίδιο το πρόσθετο ζητά PHP 7.4 για να εγκατασταθεί. Ωστόσο, ένα κατάστημα σε παλιά έκδοση PHP είναι πιο αργό και δεν λαμβάνει πλέον ενημερώσεις ασφαλείας. Πώς μεταβαίνετε με ασφάλεια σε νεότερη έκδοση PHP περιγράφεται στο μάθημα WordPress, μάθημα 8.4· η διαδικασία είναι ίδια για ένα κατάστημα, μόνο που δοκιμάζετε ιδιαίτερα προσεκτικά την ολοκλήρωση αγοράς και την πληρωμή στο staging.
Πού βλέπετε τι έχετε τώρα; Στο WooCommerce > Κατάσταση (Κατάσταση συστήματος). Εκεί, στο Περιβάλλον WordPress, εμφανίζεται μεταξύ άλλων το Όριο μνήμης WordPress, και στο Περιβάλλον διακομιστή η Έκδοση PHP, τα όρια της PHP και η έκδοση της βάσης δεδομένων. Σε περίπτωση προβλήματος, ένας προγραμματιστής ή η υποστήριξη ενός πρόσθετου ζητά συχνά αυτή την αναφορά· με το κουμπί λήψης της αναφοράς συστήματος («Get system report») την αντιγράφετε.
Οι ρυθμίσεις PHP που έχουν σημασία
Τέσσερις ρυθμίσεις θα συναντήσετε συχνότερα σε ένα κατάστημα:
- memory_limit (και WP_MEMORY_LIMIT): πόση μνήμη εργασίας μπορεί να χρησιμοποιήσει ένα αίτημα PHP. Αν είναι πολύ λίγη, εμφανίζεται λευκή σελίδα ή «Allowed memory size exhausted», συχνά σε αναφορές, εισαγωγές ή κατά την επεξεργασία ενός μεγάλου μεταβλητού προϊόντος. Το WooCommerce συνιστά όριο μνήμης WordPress 256 MB. Το WordPress χρησιμοποιεί την τιμή από το wp-config.php (
WP_MEMORY_LIMIT), αλλά ποτέ περισσότερο από όσο επιτρέπει η ίδια η PHP. - max_execution_time: πόσο μπορεί να διαρκέσει ένα αίτημα. Μια εισαγωγή CSV ή μια εξαγωγή χιλίων παραγγελιών μπορεί να διαρκέσει περισσότερο από την προεπιλογή. Προτιμήστε την εισαγωγή σε μικρότερα τμήματα αντί να ορίσετε το όριο πολύ υψηλά.
- max_input_vars: πόσα πεδία μπορεί να στείλει μια φόρμα. Σε ένα μεταβλητό προϊόν με πολλές παραλλαγές, ή σε ένα μεγάλο μενού, η διαχείριση στέλνει εκατοντάδες πεδία. Αν το όριο είναι πολύ χαμηλό, τα τελευταία πεδία απορρίπτονται σιωπηλά: πατάτε Ενημέρωση, δεν βλέπετε κανένα σφάλμα, αλλά μέρος των παραλλαγών σας δεν έχει αποθηκευτεί. Αν το παρατηρήσετε, αυξήστε την τιμή (για παράδειγμα σε 3000 ή 5000) ή δημιουργήστε λιγότερες παραλλαγές (μάθημα 3.2).
- upload_max_filesize και post_max_size: πόσο μεγάλο μπορεί να είναι ένα αρχείο που ανεβάζετε. Σημαντικό για φωτογραφίες προϊόντων και για προϊόντα με δυνατότητα λήψης (μάθημα 3.3).
Στους περισσότερους παρόχους αλλάζετε αυτές τις τιμές στον πίνακα ελέγχου. Στο WebOké αυτό γίνεται στο DirectAdmin, στις ρυθμίσεις PHP του πακέτου σας (δείτε KB 212 και KB 200)· σε άλλους παρόχους λειτουργεί παρόμοια, μερικές φορές μέσω ενός .user.ini ή μιας οθόνης php.ini. Αλλάζετε μία τιμή κάθε φορά και ελέγχετε στο WooCommerce > Κατάσταση αν εφαρμόστηκε.
Πότε το πακέτο γίνεται πολύ μικρό
Στο κοινόχρηστο hosting κάθε πακέτο έχει όρια: πόση CPU, πόση μνήμη και πόσες διεργασίες ταυτόχρονα. Στο WebOké και σε άλλους παρόχους με CloudLinux τα βλέπετε στο DirectAdmin, στη χρήση του πακέτου σας. Αν το κατάστημά σας τα ξεπεράσει, οι επισκέπτες βλέπουν ένα 503 ή ένα μήνυμα όπως «Resource Limit Is Reached». Σε ένα κατάστημα αυτό είναι ιδιαίτερα ενοχλητικό: ένας πελάτης που μόλις πάει να πληρώσει, ή ένα webhook του παρόχου πληρωμών που δεν λαμβάνει απάντηση, με αποτέλεσμα μια πληρωμένη παραγγελία να μένει σε «Εκκρεμεί πληρωμή».
Ελέγξτε πρώτα τι προκαλεί το φορτίο πριν πάρετε μεγαλύτερο πακέτο. Οι πιο συχνές αιτίες στα καταστήματα:
- καμία ή λανθασμένα ρυθμισμένη cache σελίδων (μάθημα 6.4)·
- bots που περνούν από φίλτρα, αποτελέσματα αναζήτησης ή συνδέσμους
?add-to-cart=· - WP-Cron σε κάθε επίσκεψη και μια γεμάτη ουρά προγραμματισμένων ενεργειών (μάθημα 7.3)·
- βαριά πρόσθετα ή ένα θέμα που κάνει πολλά ερωτήματα στη βάση δεδομένων σε κάθε σελίδα·
- καμία object cache (Redis) όταν υπάρχουν πολλοί συνδεδεμένοι πελάτες (μάθημα 6.4).
Εργαλεία για να βρείτε την αιτία είναι η επισκόπηση χρήσης του πακέτου σας, τα αρχεία καταγραφής και, σε ορισμένους παρόχους, ένα εργαλείο όπως το PHP X-Ray, που δείχνει ανά σελίδα ποια συνάρτηση είναι αργή (KB 227).
Αν το κατάστημα είναι σωστά ρυθμισμένο και εξακολουθείτε να φτάνετε στα όρια, τότε η αναβάθμιση είναι δικαιολογημένη: ένα μεγαλύτερο πακέτο ή ένας δικός σας διακομιστής (VPS), όπου ορίζετε εσείς πόσες διεργασίες PHP μπορούν να εκτελούνται. Αυτό το βήμα απαιτεί επίσης περισσότερη διαχείριση. Μην το προγραμματίσετε στη μέση της πιο πολυάσχολης εβδομάδας σας· δοκιμάστε πρώτα στη νέα τοποθεσία (μάθημα 7.3).
Τι άλλο χρειάζεται ένα κατάστημα
Εκτός από την PHP, ένα κατάστημα απαιτεί από το hosting του:
- HTTPS με αυτόματη ανανέωση του πιστοποιητικού (μάθημα WordPress, μάθημα 3.1)·
- αντίγραφα ασφαλείας αρκετά συχνά για τις παραγγελίες σας, με δοκιμή επαναφοράς (μάθημα 6.2)·
- πραγματικό cron για προγραμματισμένες εργασίες (μάθημα 7.3)·
- αξιόπιστο email ή σύνδεση με μια υπηρεσία email (μάθημα 6.1)·
- δυνατότητα staging (μάθημα 7.3)·
- μια βάση δεδομένων αρκετά μεγάλη: οι παραγγελίες και οι προγραμματισμένες ενέργειες αυξάνονται κάθε μέρα.
Στο Theehuis Example το κατάστημα ξεκίνησε σε ένα απλό πακέτο hosting. Μετά από ένα newsletter με έκπτωση ήρθε μέσα σε μία ώρα περισσότερη κίνηση από όση συνήθως σε μια εβδομάδα, και οι πληρωμές κολλούσαν. Στην επισκόπηση χρήσης φαινόταν ότι ο μέγιστος αριθμός διεργασιών είχε συνεχώς εξαντληθεί. Αιτία: η cache σελίδων είχε απενεργοποιηθεί μετά από μια ενημέρωση του θέματος. Με την cache ξανά ενεργή, η επόμενη προωθητική ενέργεια ολοκληρώθηκε χωρίς 503.
Σύνοψη
- Ένα κατάστημα είναι πιο απαιτητικό από έναν απλό ιστότοπο: δυναμικές σελίδες, εγγραφές στη βάση δεδομένων, webhooks και προγραμματισμένες ενέργειες.
- Το WooCommerce συνιστά PHP 8.3+, MySQL 8.0+ ή MariaDB 10.6+, όριο μνήμης 256 MB και HTTPS· τις τιμές σας τις βλέπετε στο WooCommerce > Κατάσταση.
- Προσέξτε τα memory_limit, max_execution_time, max_input_vars (σιωπηλή απώλεια δεδομένων με πολλές παραλλαγές) και τα όρια μεταφόρτωσης.
- Ένα 503 ή Resource Limit Is Reached σημαίνει ότι έχουν εξαντληθεί τα όρια του πακέτου σας· βρείτε πρώτα την αιτία και μετά αναβαθμίστε.
Κουίζ
Άσκηση
Άσκηση A7.2: Ταιριάζει η PHP σας με το WooCommerce; Ανοίξτε το WooCommerce > Κατάσταση και σημειώστε την Έκδοση PHP (Περιβάλλον διακομιστή) και το όριο μνήμης WordPress σε MB (Περιβάλλον WordPress). Συμπληρώστε τη διεύθυνση του καταστήματός σας και αυτές τις δύο τιμές. Το πρόγραμμα αναζητά τη σειρά της έκδοσης PHP σας στον πίνακα του php.net (ποιες εκδόσεις λαμβάνουν ακόμη ενημερώσεις) και ελέγχει αν η αρχική σελίδα εμφανίζει μια κεφαλίδα X-Powered-By με έκδοση PHP. Πράσινο αν η σειρά σας υποστηρίζεται ακόμη ενεργά και είναι τουλάχιστον 8.3, και το όριο μνήμης είναι τουλάχιστον 256. Πορτοκαλί αν η σειρά σας λαμβάνει μόνο ενημερώσεις ασφαλείας, είναι χαμηλότερη από 8.3 αλλά ακόμη υποστηρίζεται, αν το όριο μνήμης είναι μεταξύ 128 και 255, ή αν ο ιστότοπός σας εμφανίζει την έκδοση PHP σε μια κεφαλίδα. Κόκκινο αν η σειρά σας δεν λαμβάνει πλέον ενημερώσεις ή είναι άγνωστη, αν το όριο μνήμης είναι κάτω από 128, ή αν η κεφαλίδα δείχνει διαφορετική σειρά από αυτήν που συμπληρώσατε («υπάρχουν πολλές εκδόσεις PHP;»).
Ερώτηση για εσάς (δεν ελέγχεται): τι αναφέρει το WooCommerce > Κατάσταση για το max_input_vars και για το μέγιστο μέγεθος μεταφόρτωσης; Επαρκεί αυτό για το μεγαλύτερο προϊόν σας και για το μεγαλύτερο αρχείο λήψης σας;
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké· σε άλλους πίνακες ελέγχου λειτουργούν παρόμοια.
- Αλλαγή έκδοσης PHP και ρυθμίσεων PHP (και τι να κάνετε αν εμφανιστούν σφάλματα μετά από μια αναβάθμιση)
- Η μεταφόρτωση αποτυγχάνει: αυξήστε τις τιμές των upload_max_filesize και max_execution_time
- Εγχειρίδιο DirectAdmin 14.1: Η επιλογή της έκδοσης PHP (Select PHP version)
- DirectAdmin Resource Usage και αργές ιστοσελίδες (Resource Limit Is Reached)
- Εγχειρίδιο DirectAdmin 17.5: 503 ή 'Resource Limit Is Reached': τι τώρα;
- Δωρεάν μάθημα WordPress 8.4: Εκδόσεις PHP και αναβαθμίσεις
- Server requirements (woocommerce.com, στα Αγγλικά): https://woocommerce.com/document/server-requirements/
