Το Xdebug είναι ένα ισχυρό εργαλείο εντοπισμού σφαλμάτων και προφίλ PHP που μας βοηθά να αναλύουμε και να βελτιστοποιούμε τις εφαρμογές PHP. Υποστηρίζει λειτουργίες όπως ο εντοπισμός σφαλμάτων βήμα προς βήμα, η μέτρηση απόδοσης και η ανίχνευση στοίβας, γεγονός που κάνει την αντιμετώπιση προβλημάτων πολύ πιο εύκολη και παρέχει καλύτερες πληροφορίες για τον κώδικα. Παρακάτω είναι ένας μικρός οδηγός εγκατάστασης για χρήση στο VSCode.
Εγκαταστήστε το Xdebug
Για παράδειγμα, εγκαθιστούμε το Xdebug σε ένα τρέχον σύστημα Ubuntu:
sudo apt-get install -y php8.4-xdebug
Τέλος, δημιουργούμε έναν προσωρινό κατάλογο για μεταγενέστερη αποθήκευση δεδομένων προφίλ και ανίχνευσης:
mkdir -p /tmp/xdebug
Διαμόρφωση του Xdebug
Μετά την εγκατάσταση, ρυθμίζουμε το Xdebug. Για να το κάνουμε αυτό, το επεξεργαζόμαστε el/php.ini:
vi /etc/php/8.4/fpm/conf.d/custom.ini
Αυτό που ακολουθεί είναι μια λογική βασική διαμόρφωση:
[xdebug]
; mode (see: https://xdebug.org/docs/all_settings#mode)
; reasonable default
xdebug.mode=debug,profile
; disabled
;xdebug.mode=off
; step debugging
;xdebug.mode=debug
; performance profiling (be aware of load/space)
;xdebug.mode=profile
; trace profiling (record args)
;xdebug.mode=trace
; starting mode
; always (not recommended)
;xdebug.start_with_request=yes
; only when specific get parameters / cookies are set
; (?XDEBUG_TRIGGER=1, ?XDEBUG_PROFILE=1, ?XDEBUG_TRACE=1, ?XDEBUG_SESSION=1)
; this is best in conjunction with Chrome extension "Xdebug helper"
xdebug.start_with_request=trigger
; folder for analyzing profile dumps
xdebug.output_dir="/tmp/xdebug"
; not needed, since it is already in /etc/php/8.4/fpm/conf.d/20-xdebug.ini
;zend_extension=xdebug.so
Αφού κάνουμε αυτές τις προσαρμογές, κάνουμε επανεκκίνηση του PHP-FPM για να εφαρμόσουμε τις αλλαγές:
sudo service php8.4-fpm restart
Ρύθμιση παραμέτρων VSCode
Για να χρησιμοποιήσετε το Xdebug στον κώδικα του Visual Studio, απαιτούνται δύο επεκτάσεις και μια προσαρμογή διαμόρφωσης. Εγκαθιστούμε αυτό:
- PHP Debug: για βασική λειτουργία εντοπισμού σφαλμάτων.
- Προφίλ PHP: Για την ανάλυση των αρχείων cachegrind.
Τέλος, δημιουργούμε το αρχείο διαμόρφωσης launch.json στον φάκελο .vscode του προς ανάλυση έργου:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
Εγκαταστήστε την επέκταση Chrome
Η βοηθητική επέκταση Xdebug έχει αποδειχθεί για ευέλικτο εντοπισμό σφαλμάτων στο πρόγραμμα περιήγησης. Αυτό καθιστά δυνατή την ενεργοποίηση ή απενεργοποίηση του Xdebug μόνο όταν είναι απαραίτητο. Μπορείτε επίσης να αλλάξετε εύκολα τη λειτουργία εντοπισμού σφαλμάτων (για παράδειγμα, για εναλλαγή από τον εντοπισμό σφαλμάτων στη δημιουργία προφίλ):
Διαμόρφωση του WordPress
Όταν χρησιμοποιείτε το Xdebug σε περιβάλλον WordPress, μπορεί να είναι χρήσιμο να απενεργοποιήσετε τον εντοπισμό σφαλμάτων σε εργασίες cron όταν είναι ενεργή μια περίοδος λειτουργίας εντοπισμού σφαλμάτων. Αυτό διευκολύνει τον εντοπισμό σφαλμάτων. Για να το κάνετε αυτό, προσθέστε την ακόλουθη γραμμή στο: wp-config.php
ένα:
// disable wp cron on xdebug sessions
if (function_exists('xdebug_is_debugger_active') && xdebug_is_debugger_active()) {
define('DISABLE_WP_CRON', true);
}
Με αυτήν τη διαμόρφωση έχουμε μια ισχυρή ρύθμιση που μας επιτρέπει να αντιμετωπίζουμε πολύπλοκα προβλήματα εντοπισμού σφαλμάτων με ακρίβεια. Είτε βρίσκετε επίμονα σφάλματα είτε βρίσκετε προβλήματα απόδοσης - το Xdebug όχι μόνο κάνει την εργασία πιο αποτελεσματική, αλλά φέρνει επίσης μια νέα ποιότητα στην ανάπτυξη μέσω του ελέγχου και της σαφήνειας του κώδικα.