Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| dev:php:debogage [2019/08/01 15:44] – créée yoann | dev:php:debogage [2025/06/29 15:37] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| {{tag> | {{tag> | ||
| + | |||
| + | : | ||
| ====== A propos du débogage en PHP ======= | ====== A propos du débogage en PHP ======= | ||
| Ligne 7: | Ligne 9: | ||
| php -l mon_script.php | php -l mon_script.php | ||
| </ | </ | ||
| + | |||
| + | Afficher les fichiers de configuration chargés par la CLI : | ||
| + | <code bash> | ||
| + | # | ||
| + | php --ini | ||
| + | </ | ||
| + | |||
| + | Afficher les modules actifs : | ||
| + | <code bash> | ||
| + | php -m | ||
| + | </ | ||
| + | |||
| Redéfinir la configuration locale dans un script | Redéfinir la configuration locale dans un script | ||
| Ligne 15: | Ligne 29: | ||
| require_once(' | require_once(' | ||
| - | # Ecriredans | + | # Ecrire dans le journal de log |
| error_log(" | error_log(" | ||
| </ | </ | ||
| Ligne 23: | Ligne 37: | ||
| phpinfo(); | phpinfo(); | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ===== Débogage avancé en CLI avec xdebug ===== | ||
| + | |||
| + | |||
| + | Installer le module PHP xdebug : | ||
| + | <code bash> | ||
| + | apt install php8.2-xdebug | ||
| + | </ | ||
| + | |||
| + | |||
| + | Modifier le fichier de configuration ''/ | ||
| + | |||
| + | < | ||
| + | zend_extension=xdebug.so | ||
| + | xdebug.mode=debug, | ||
| + | xdebug.start_with_request=trigger | ||
| + | xdebug.client_host=localhost | ||
| + | xdebug.client_port=9003 | ||
| + | xdebug.log=/ | ||
| + | xdebug.cli_color=1 | ||
| + | xdebug.output_dir=/ | ||
| + | </ | ||
| + | |||
| + | Vérifier que le module est chargé : | ||
| + | |||
| + | <code bash> | ||
| + | php -m | grep xdebug | ||
| + | |||
| + | |||
| + | php -version | ||
| + | PHP 8.2.28 (cli) (built: Mar 13 2025 18:21:38) (NTS) | ||
| + | Copyright (c) The PHP Group | ||
| + | Zend Engine v4.2.28, Copyright (c) Zend Technologies | ||
| + | with Zend OPcache v8.2.28, Copyright (c), by Zend Technologies | ||
| + | with Xdebug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans | ||
| + | </ | ||
| + | |||
| + | |||
| + | Télécharger le client xdebug : | ||
| + | |||
| + | <code bash> | ||
| + | cd /opt | ||
| + | wget " | ||
| + | chmod +x ./ | ||
| + | </ | ||
| + | |||
| + | Lancer l’exécution du client, dans l’exemple ci-dessous, le message indique bien que le client attend la connexion sur le port 9003. | ||
| + | |||
| + | <code bash> | ||
| + | ./ | ||
| + | Xdebug Simple DBGp client (0.6.1) | ||
| + | Copyright 2019-2024 by Derick Rethans | ||
| + | |||
| + | Waiting for debug server to connect on port 9003. | ||
| + | </ | ||
| + | |||
| + | On exécute maintenant le script en passant par le débugueur : | ||
| + | |||
| + | <code bash> | ||
| + | XDEBUG_TRIGGER=1 php / | ||
| + | </ | ||
| + | |||
| ===== Références ===== | ===== Références ===== | ||
| Ligne 30: | Ligne 107: | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||