Συνάρτησεις Ερροτων και Καταγραφής του PHP
- Προηγούμενη Σελίδα Φιλιππικός Directory
- Επόμενη Σελίδα Φιλιππικός Filesystem
Εισαγωγή στο PHP Error
Οι συνάρτησεις error και logging επιτρέπουν την επεξεργασία και καταγραφή σφαλμάτων.
Οι συνάρτησεις error επιτρέπουν στους χρήστες να ορίζουν τους κανόνες διαχείρισης σφαλμάτων και να τροποποιούν τον τρόπο καταγραφής σφαλμάτων.
Οι συνάρτησεις logging επιτρέπουν στους χρήστες να καταγράφουν τις εφαρμογές τους και να αποστέλλουν μηνύματα καταγραφής σε ηλεκτρονικούς φακέλους, το σύστημα καταγραφής ή άλλες μηχανές.
Η συνάρτηση error χρησιμοποιείται για την ολοκλήρωση της διαχείρισης σφαλμάτων και της καταγραφής.
Οι συνάρτησεις error επιτρέπουν τη διαμόρφωση των δικών μας κανόνων διαχείρισης σφαλμάτων και την τροποποίηση του τρόπου καταγραφής σφαλμάτων.
Οι συνάρτησεις logging επιτρέπουν την αποστολή μηνυμάτων σε άλλες μηχανές, ηλεκτρονικούς φακέλους ή το σύστημα καταγραφής.
Οι συνάρτησεις αναφοράς σφαλμάτων επιτρέπουν την αναφορά τύπων και επιπέδων σφαλμάτων.
Εγκατάσταση
Οι συνάρτησεις error είναι μέρος του κεντρικού κώδικα του PHP. Δεν απαιτείται εγκατάσταση για να χρησιμοποιηθούν αυτές οι συνάρτησεις.
Ρύθμιση εκτέλεσης
Η συμπεριφορά της συνάρτησης error επηρεάζεται από τις ρυθμίσεις στο php.ini.
Οι επιλογές καταγραφής σφαλμάτων και logging είναι οι εξής:
Όνομα | Προεπιλεγμένη τιμή | Περιγραφή | Χωροθέτηση |
---|---|---|---|
error_reporting | NULL | Ρύθμιση του επιπέδου αναφοράς σφαλμάτων (αριθμητικός ή ονομαστικός μονόλιθος) | PHP_INI_ALL |
display_errors | "1" |
Ορίζει αν τα σφάλματα θα εμφανιστούν ως έξοδο στην οθόνη ή θα κρυφτούν από τον χρήστη. Σημείωση:Αυτή η λειτουργία δεν πρέπει να χρησιμοποιείται σε συστήματα παραγωγής (υποστηρίζεται μόνο για ανάπτυξη) |
PHP_INI_ALL |
display_startup_errors | "0" |
Αν και το display_errors είναι ενεργοποιημένο, τα μηνύματα σφαλμάτων κατά την εκκίνηση του PHP δεν θα εμφανίζονται. Σημείωση: Προτείνεται αυστηρά να οριστεί το display_startup_errors σε απενεργοποιημένη κατάσταση εκτός από σκοπούς αποσφαλμάτωσης. |
PHP_INI_ALL |
log_errors | "0" |
Ρύθμιση αν θα καταγραφούν τα μηνύματα σφαλμάτων από την εκτέλεση του σκευή στο αρχείο σφαλμάτων του διακομιστή ή στο error_log. Σημείωση: Αυτό είναι ένα συγκεκριμένο στοιχείο ρύθμισης που σχετίζεται με τον διακομιστή. Σημείωση: Στο σύστημα παραγωγής, προτείνεται αυστηρά η χρήση καταγραφής σφαλμάτων για τα μηνύματα σφαλμάτων που εμφανίζονται στον ιστότοπο. |
PHP_INI_ALL |
log_errors_max_len | "1024" |
Ρύθμιση της μέγιστης διάστασης σε bytes για το log_errors. Στο error_log θα προστεθεί πληροφορία για την πηγή των σφαλμάτων. Η προεπιλεγμένη τιμή είναι 1024, αν οριστεί σε 0 σημαίνει χωρίς περιορισμό μήκους. Η ρύθμιση της μήκους έχει περιοριστική επίδραση στη σφάλματα καταγραφής, τα σφάλματα που εμφανίζονται και το $php_errormsg. |
PHP_INI_ALL |
ignore_repeated_errors | "0" |
Καθορίζουμε αν θα καταγράφονται επαναλαμβανόμενα μηνύματα σφαλμάτων. Τα επαναλαμβανόμενα σφάλματα πρέπει να εμφανίζονται στην ίδια γραμμή κώδικα του ίδιου αρχείου, εκτός αν η ρύθμιση ignore_repeated_source οριστεί ως true. |
PHP_INI_ALL |
ignore_repeated_source | "0" |
Καθορίζουμε αν θα καταγράφονται επαναλαμβανόμενα μηνύματα σφαλμάτων. Όταν αγνοούνται τα επαναλαμβανόμενα μηνύματα, αγνοούνται επίσης οι πηγές τους. Όταν αυτή η ρύθμιση είναι ενεργοποιημένη, οι επαναλαμβανόμενες πληροφορίες δεν θα καταγράφονται αν προέρχονται από διαφορετικά αρχεία ή διαφορετικές γραμμές κώδικα. |
PHP_INI_ALL |
report_memleaks | "1" | Αν ο παραμέτρος οριστεί ως On (προεπιλεγμένο), θα εμφανιστούν αναφορές διαρροής μνήμης που αναγνωρίζονται από τον διαχειριστή μνήμης Zend. | PHP_INI_ALL |
track_errors | "0" | Αν είναι ενεργοποιημένο, το τελευταίο σφάλμα θα παραμένει πάντα στη μεταβλητή $php_errormsg. | PHP_INI_ALL |
html_errors | "1" | Απενεργοποιούμε τις ετικέτες HTML στο μήνυμα σφαλμάτων. |
|
xmlrpc_errors | "0" | Αν ενεργοποιηθεί, απενεργοποιείται η κανονική αναφορά σφαλμάτων και ο μορφοποιητής σφαλμάτων ορίζεται ως μορφή μηνυμάτων σφάλματος XML-RPC. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | Χρησιμοποιείται ως τιμή του στοιχείου faultCode στο XML-RPC. | PHP_INI_ALL |
docref_root | "" | (διαθέσιμο από PHP 4.3) | PHP_INI_ALL |
docref_ext | "" | (διαθέσιμο από PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULL | Καθορίζουμε την αλφαβητική ακολουθία που θα προστεθεί πριν το μήνυμα σφάλματος. | PHP_INI_ALL |
error_append_string | NULL | Καθορίζουμε την αλφαβητική ακολουθία που θα προστεθεί μετά το μήνυμα σφάλματος. | PHP_INI_ALL |
error_log | NULL |
Ρυθμίζουμε το αρχείο στο οποίο θα καταγράφονται τα σφάλματα του σκрипτ. Το αρχείο πρέπει να είναι γραπτό από τον χρήστη του διακομιστή web. Αν χρησιμοποιηθεί η ειδική τιμή syslog, τα μηνύματα σφαλμάτων θα αποσταλούν στον καταγραφέα συστήματος. |
PHP_INI_ALL |
Συνάρτησεις Ερροτων και Καταγραφής του PHP
Συνάρτηση | Περιγραφή |
---|---|
debug_backtrace() | Δημιουργούμε το backtrace. |
debug_print_backtrace() | Εκτυπώνουμε το backtrace. |
error_get_last() | Επιστρέφουμε το τελευταίο σφάλμα που συνέβη. |
error_log() | Αποστέλουμε μηνύματα σφαλμάτων στο αρχείο καταγραφής σφαλμάτων του διακομιστή, στο αρχείο ή σε απομακρυσμένο στόχο. |
error_reporting() | Καθορίζουμε ποιο σφάλμα να αναφέρουμε. |
restore_error_handler() | Επαναφέρουμε τον προηγούμενο επεξεργαστή σφαλμάτων. |
restore_exception_handler() | Επαναφορά προηγούμενης συνάρτησης διαχείρισης εξαιρέσεων. |
set_error_handler() | Ρύθμιση χρήστης εξειδικευμένης συνάρτησης διαχείρισης σφαλμάτων. |
set_exception_handler() | Ρύθμιση χρήστης εξειδικευμένης συνάρτησης διαχείρισης εξαιρέσεων. |
trigger_error() | Δημιουργία αναφορών σφαλμάτων επιπέδου χρήστη. |
user_error() | Άλλοτε του trigger_error() |
Προκαθορισμένα σφάλματα και μοναδικές συνθήκες καταγραφής του PHP 5
Αξία | Σταθερά | Περιγραφή |
---|---|---|
1 | E_ERROR | Καταστροφικά σφάλματα κατά την εκτέλεση. Σφάλματα που δεν μπορούν να διορθωθούν. Σταματά την εκτέλεση του σκευασμάτων. |
2 | E_WARNING | Μη καταστροφικά σφάλματα κατά την εκτέλεση. Δεν σταματά την εκτέλεση του σκευασμάτων. |
4 | E_PARSE | Σφάλματα γραμματικής κατά την ανασκόπηση. Η λάθος ανάλυση παράγεται μόνο από τον αναλυτή. |
8 | E_NOTICE | Ειδοποιήσεις κατά την εκτέλεση. Ενδείκνυε ότι το σενάριο αντιμετωπίζει μια κατάσταση που μπορεί να εκδηλωθεί ως σφάλμα, αλλά μπορεί να υπάρχει και μια ειδοποίηση σε ένα σενάριο που εκτελείται κανονικά. |
16 | E_CORE_ERROR | Καταστροφικά σφάλματα κατά την εκκίνηση της PHP. Το σφάλμα είναι αντίστοιχο με E_ERROR, αλλά δημιουργείται από το κεντρικό μέρος του μηχανισμού εκτέλεσης της PHP. |
32 | E_CORE_WARNING | Προειδοποιήσεις κατά την εκκίνηση της PHP (μη καταστροφικά σφάλματα). Αντίστοιχη με E_WARNING, αλλά δημιουργούνται από το κεντρικό μέρος του μηχανισμού εκτέλεσης της PHP. |
64 | E_COMPILE_ERROR | Καταστροφικά σφάλματα κατά την ανασκόπηση. Αντίστοιχη με E_ERROR, αλλά δημιουργούνται από τον μηχανισμό εκτέλεσης του Zend. |
128 | E_COMPILE_WARNING | Προειδοποιήσεις κατά την ανασκόπηση (μη καταστροφικά σφάλματα). Αντίστοιχη με E_WARNING, αλλά δημιουργούνται από τον μηχανισμό εκτέλεσης του Zend. |
256 | E_USER_ERROR | Αναφορές σφαλμάτων που δημιουργούνται από τους χρήστες. Αντίστοιχη με E_ERROR, αλλά δημιουργούνται από τον χρήστη στον κώδικα με τη χρήση της φιλοξενίας PHP trigger_error(). |
512 | E_USER_WARNING | Αναφορές προειδοποιήσεων που δημιουργούνται από τους χρήστες. Αντίστοιχη με E_WARNING, αλλά δημιουργούνται από τον χρήστη στον κώδικα με τη χρήση της φιλοξενίας PHP trigger_error(). |
1024 | E_USER_NOTICE | Αναφορές ειδοποιήσεων που δημιουργούνται από τους χρήστες. Αντίστοιχη με E_NOTICE, αλλά δημιουργούνται από τον χρήστη στον κώδικα με τη χρήση της φιλοξενίας PHP trigger_error(). |
2048 | E_STRICT | Ενεργοποίηση της λειτουργίας προτάσεων τροποποίησης κώδικα του PHP για να διασφαλιστεί η καλύτερη αλληλεπίδραση και συμβατότητα προς το μέλλον του κώδικα. |
4096 | E_RECOVERABLE_ERROR | Κατάληψης σφαλμάτων που μπορούν να συλληφθούν. Αυτό σημαίνει ότι έχει συμβεί ένα σφάλμα που μπορεί να είναι πολύ επικίνδυνο, αλλά δεν έχει προκαλέσει την ασταθή κατάσταση του φιλιππικού υλικού. Αν το σφάλμα δεν έχει συλληφθεί από τον προσαρμοσμένο χειριστή του χρήστη (βλέπε set_error_handler()), θα γίνει E_ERROR και το σενάριο θα σταματήσει την εκτέλεση. |
8192 | E_DEPRECATED | Ειδοποιήσεις κατά τη διάρκεια της εκτέλεσης. Μετά την ενεργοποίηση, θα δώσει προειδοποιήσεις για κώδικα που μπορεί να μην λειτουργεί σωστά στις μελλοντικές εκδόσεις. |
16384 | E_USER_DEPRECATED | Προειδοποιήσεις που δημιουργούνται από τους χρήστες. Αναφέρεται σε E_DEPRECATED, αλλά δημιουργείται από τους χρήστες στον κώδικα με τη χρήση της φιλιππικής λειτουργίας trigger_error(). |
32767 | E_ALL | E_STRICT Όλες οι σφάλματα και οι προειδοποιήσεις πληροφορίες εκτός αυτών. |
- Προηγούμενη Σελίδα Φιλιππικός Directory
- Επόμενη Σελίδα Φιλιππικός Filesystem