Η ιστοσελίδα σας εμφανίζει μια κενή σελίδα, ή τη φράση «Παρουσιάστηκε ένα κρίσιμο σφάλμα σε αυτόν τον ιστότοπο.». Και στις δύο περιπτώσεις, η PHP έχει γράψει κάπου ένα ακριβές μήνυμα, που κατονομάζει το αρχείο που φταίει. Ο οδηγός αυτός δείχνει πού θα το διαβάσετε, πώς θα το ερμηνεύσετε και ποια κίνηση αντιστοιχεί σε κάθε μήνυμα.
wp-config.php και φορτώστε ξανά τη σελίδα με το σφάλμα.PHP Fatal error του wp-content/debug.log: η διαδρομή του αρχείου κατονομάζει το πρόσθετο ή το θέμα που φταίει.debug.log.Μια λευκή σελίδα είναι τις περισσότερες φορές ένα μοιραίο σφάλμα της PHP (fatal error): ένα αρχείο της ιστοσελίδας ζήτησε κάτι αδύνατο, και η εκτέλεση σταμάτησε πριν εμφανιστεί οτιδήποτε. Από την έκδοση 5.2, το WordPress αναχαιτίζει αυτά τα σφάλματα: αντί για κενή σελίδα, εμφανίζει «Παρουσιάστηκε ένα κρίσιμο σφάλμα σε αυτόν τον ιστότοπο.» και στέλνει email στη διεύθυνση διαχείρισης της ιστοσελίδας.
Η σελίδα μένει εντελώς λευκή σε λίγες περιπτώσεις: μια παλαιότερη έκδοση του WordPress, ένα σφάλμα που συμβαίνει πριν φορτωθεί αυτός ο μηχανισμός, η σταθερά WP_DISABLE_FATAL_ERROR_HANDLER ορισμένη σε true, ή ένα πρόσθετο cache που σερβίρει μια κενή σελίδα αποθηκευμένη κατά τη βλάβη. Η μέθοδος που ακολουθεί ισχύει για όλες αυτές τις περιπτώσεις.
Τρεις κινήσεις μπορούν να περιμένουν μέχρι να διαβάσετε το σφάλμα: η επανεγκατάσταση του WordPress, η διαγραφή πρόσθετων, η επαναφορά ενός παλιού αντιγράφου ασφαλείας. Καθεμία μπορεί να σβήσει ρυθμίσεις ή πρόσφατα δεδομένα, ενώ το μήνυμα σφάλματος λέει συνήθως ποιο στοιχείο να απενεργοποιήσετε, χωρίς να χαθεί τίποτα.
Όταν το WordPress αναχαιτίσει το σφάλμα, στέλνει στη διεύθυνση email διαχείρισης της ιστοσελίδας ένα μήνυμα με θέμα «[Όνομα ιστότοπου] Ο Ιστότοπος σας Αντιμετωπίζει ένα Τεχνικό Ζήτημα». Κατονομάζει το πρόσθετο ή το θέμα που φταίει και περιέχει έναν σύνδεσμο που ανοίγει τη διαχείριση σε λειτουργία ανάκτησης.
Συνδεθείτε στην ιστοσελίδα μέσω SFTP ή από τη διαχείριση αρχείων του παρόχου φιλοξενίας, ανοίξτε το wp-config.php στη ρίζα και αντικαταστήστε τη γραμμή define( 'WP_DEBUG', false ); με αυτές τις τέσσερις γραμμές:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Μπαίνουν πάνω από τη γραμμή /* That's all, stop editing! Happy publishing. */, που κλείνει το τμήμα του αρχείου το οποίο αλλάζετε. Φορτώστε ξανά τη σελίδα με το σφάλμα και ανοίξτε το wp-content/debug.log. Με το WP_DEBUG_DISPLAY σε false, τα μηνύματα μένουν στο αρχείο, έξω από τη σελίδα που βλέπουν οι επισκέπτες σας.
Αν το debug.log μένει κενό ή δεν εμφανίζεται, το σφάλμα καταγράφηκε απευθείας από την PHP: αναζητήστε ένα αρχείο error_log στη ρίζα της ιστοσελίδας ή στο wp-admin, ή την ενότητα με τα αρχεία καταγραφής σφαλμάτων στον πίνακα διαχείρισης του παρόχου φιλοξενίας.
Ένα μοιραίο σφάλμα χωρά σε μία γραμμή: ο τύπος του σφάλματος, η περιγραφή του, και έπειτα in ακολουθούμενο από την πλήρη διαδρομή του αρχείου και τον αριθμό της γραμμής. Η διαδρομή είναι η πιο χρήσιμη πληροφορία: το wp-content/plugins/onoma/ δείχνει πρόσθετο, το wp-content/themes/onoma/ θέμα.
| Το μήνυμα περιέχει | Τι σημαίνει | Η κίνηση |
|---|---|---|
Call to undefined function ή Class "…" not found, στο wp-content/plugins/onoma-prosthetou/ | Το πρόσθετο καλεί κώδικα που λείπει: ελλιπής ενημέρωση, απενεργοποιημένο πρόσθετο από το οποίο εξαρτάται, ή έκδοση PHP που δεν υποστηρίζει. | Απενεργοποιήστε αυτό το πρόσθετο και έπειτα εγκαταστήστε το ξανά ή ενημερώστε το. |
Allowed memory size of 268435456 bytes exhausted | Το script ξεπέρασε τη μνήμη που διαθέτει η PHP, εδώ 268.435.456 byte, δηλαδή 256 MB. | Αυξήστε το WP_MEMORY_LIMIT στο wp-config.php, μέσα στο όριο που θέτει ο πάροχος φιλοξενίας, και αναζητήστε τι καταναλώνει τόση μνήμη. |
PHP Parse error: syntax error, unexpected, στο functions.php on line 42 | Ένα συντακτικό λάθος σε αρχείο, πολύ συχνά μετά από αλλαγή με το χέρι στον επεξεργαστή αρχείων του θέματος. | Διορθώστε τη γραμμή που αναφέρεται, ή επαναφέρετε την προηγούμενη έκδοση του αρχείου. |
Uncaught TypeError ή Uncaught ArgumentCountError, μετά από αλλαγή έκδοσης PHP | Ένα στοιχείο γραμμένο για παλαιότερη έκδοση της PHP, που η τρέχουσα έκδοση αρνείται να εκτελέσει. | Ενημερώστε το στοιχείο. Ως προσωρινή λύση, επιστρέψτε στην προηγούμενη έκδοση PHP από τον πίνακα διαχείρισης του παρόχου, μέχρι να το αντικαταστήσετε. |
Maximum execution time of 30 seconds exceeded | Μια επεξεργασία ξεπέρασε τη διάρκεια που επιτρέπει η PHP (max_execution_time). | Εντοπίστε την επεξεργασία (εισαγωγή, αντίγραφο ασφαλείας, δημιουργία εικόνων) και ζητήστε από τον πάροχο να αυξήσει το όριο, αν η επεξεργασία είναι θεμιτή. |
define( 'WP_MEMORY_LIMIT', '256M' );
Μετονομάστε τον φάκελο του πρόσθετου που κατονομάζει το μήνυμα, για παράδειγμα το wp-content/plugins/onoma-prosthetou σε onoma-prosthetou.off. Το WordPress δεν βρίσκει πια το πρόσθετο και σταματά να το φορτώνει. Οι ρυθμίσεις του μένουν αποθηκευμένες στη βάση δεδομένων, και το WordPress το απενεργοποιεί την επόμενη φορά που θα ανοίξει η οθόνη των πρόσθετων.
Για ένα θέμα, η μετονομασία του φακέλου του στο wp-content/themes κάνει τη διαχείριση ξανά προσβάσιμη, όμως οι επισκέπτες βλέπουν κενή σελίδα όσο κανένα θέμα δεν είναι ενεργό. Ανοίξτε αμέσως την Εμφάνιση > Θέματα: το WordPress εμφανίζει «Το ενεργό θέμα έχει πρόβλημα. Γίνεται επαναφορά στο αρχικό θέμα.» και επιστρέφει σε ένα εγκατεστημένο προεπιλεγμένο θέμα.
wp plugin list --status=active
wp plugin deactivate onoma-prosthetou
wp theme list
wp theme activate twentytwentyfive
Η πρώτη εντολή κρατά τη λίστα των ενεργών πρόσθετων, χρήσιμη πριν από κάθε ομαδική απενεργοποίηση. Αν το ίδιο το WP-CLI σταματήσει στο σφάλμα, προσθέστε --skip-plugins --skip-themes στην εντολή: ξεκινά τότε χωρίς να φορτώσει τα πρόσθετα και το θέμα. Τα πρόσθετα του φακέλου wp-content/mu-plugins φορτώνονται παρ’ όλα αυτά. Αν το σφάλμα προέρχεται από κάποιο από αυτά, μετονομάστε το αρχείο του.
Όταν το μήνυμα δεν κατονομάζει κανένα στοιχείο, το wp plugin deactivate --all απενεργοποιεί όλα τα πρόσθετα. Αν η ιστοσελίδα επανέλθει, ενεργοποιήστε τα ξανά ένα ένα, φορτώνοντας την ιστοσελίδα ανάμεσα: το τελευταίο που ενεργοποιήθηκε πριν επιστρέψει το σφάλμα είναι αυτό που φταίει.
define( 'WP_DEBUG', false ); και αφαιρέστε το WP_DEBUG_LOG από το wp-config.php.wp-content/debug.log: βρίσκεται σε φάκελο προσβάσιμο από τον ιστό, μπορεί να το διαβάσει οποιοσδήποτε, και περιέχει διαδρομές του διακομιστή.Με το Serenity by Simafri, δημιουργούμε την επαγγελματική σας ιστοσελίδα, τη φιλοξενούμε, την ασφαλίζουμε και τη διατηρούμε ενημερωμένη. Εσείς μας γράφετε, εμείς φροντίζουμε τα πάντα. Το όνομα τομέα και το επαγγελματικό email συμπεριλαμβάνονται.
Επειδή συνέβη ένα μοιραίο σφάλμα της PHP, τις περισσότερες φορές σε ένα πρόσθετο ή ένα θέμα. Το WordPress το αναχαιτίζει, εμφανίζει αυτό το μήνυμα και στέλνει email στη διεύθυνση διαχείρισης της ιστοσελίδας, με σύνδεσμο προς τη λειτουργία ανάκτησης. Η καταγραφή αποσφαλμάτωσης δίνει τις λεπτομέρειες του σφάλματος και το αρχείο που φταίει.
Ελέγξτε τα ανεπιθύμητα και τη διεύθυνση email που έχει οριστεί στις Ρυθμίσεις > Γενικά. Χωρίς το email, ενεργοποιήστε την καταγραφή αποσφαλμάτωσης στο wp-config.php, διαβάστε το σφάλμα στο wp-content/debug.log και απενεργοποιήστε το στοιχείο που φταίει μετονομάζοντας τον φάκελό του μέσω SFTP.
Οι ρυθμίσεις των πρόσθετων αποθηκεύονται στη βάση δεδομένων, όχι στον φάκελό τους, οπότε παραμένουν. Ένα πρόσθετο με μετονομασμένο φάκελο εμφανίζεται απενεργοποιημένο. Δώστε ξανά στον φάκελο το αρχικό του όνομα και ενεργοποιήστε το πρόσθετο από την οθόνη των πρόσθετων για να το βρείτε με τις ρυθμίσεις του.
Το στοιχείο με το σφάλμα μπορεί να φορτώνεται μόνο στη διαχείριση, ή η διαχείριση χρειάζεται περισσότερη μνήμη. Το WordPress εφαρμόζει το WP_MAX_MEMORY_LIMIT στις οθόνες διαχείρισης και το WP_MEMORY_LIMIT στη δημόσια ιστοσελίδα. Η καταγραφή αποσφαλμάτωσης δίνει την ίδια πληροφορία και στις δύο περιπτώσεις: φορτώστε τη σελίδα διαχείρισης με το σφάλμα και διαβάστε το debug.log.
Simafri
Ας μιλήσουμε για την ιστοσελίδα σας
Πείτε μας με λίγα λόγια για το έργο σας: θα επικοινωνήσουμε σύντομα μαζί σας.
Ευχαριστούμε! Το αίτημά σας εστάλη. Θα επικοινωνήσουμε σύντομα μαζί σας.
Προτιμάτε email; Γράψτε μας στο support@simafri.com.