{{tag>dev php}} :TODO_DOCUPDATE: ====== A propos du débogage en PHP ======= vérifier la syntaxe d'un script depuis la ligne de commande: php -l mon_script.php Afficher les fichiers de configuration chargés par la CLI : # php --ini Afficher les modules actifs : php -m Redéfinir la configuration locale dans un script error_reporting(E_ALL); ini_set('display_errors', 1); require_once('problem_file.php'); # Ecrire dans le journal de log error_log("test errors log...", 0); Obtenir des informations sur la configuration phpinfo(); ===== Débogage avancé en CLI avec xdebug ===== Installer le module PHP xdebug : apt install php8.2-xdebug Modifier le fichier de configuration ''/etc/php/8.2/cli/conf.d/20-xdebug.ini'' zend_extension=xdebug.so xdebug.mode=debug,develop xdebug.start_with_request=trigger xdebug.client_host=localhost xdebug.client_port=9003 xdebug.log=/var/log/xdebug.log xdebug.cli_color=1 xdebug.output_dir=/tmp Vérifier que le module est chargé : 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 : cd /opt wget "https://xdebug.org/files/binaries/dbgpClient" chmod +x ./dbgpClient 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. ./dbgpClient 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 : XDEBUG_TRIGGER=1 php /path/to/script.php ===== Références ===== * https://stackoverflow.com/questions/18660735/pdo-and-mysql-charset * https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display * https://stackoverflow.com/questions/3758418/numeric-values-of-error-reporting-levels * https://stackoverflow.com/questions/19520744/what-is-the-difference-between-local-value-and-master-value * https://www.octopuce.fr/debugger-php-en-cli-avec-xdebug-vim/ * https://www.affinityreader.com/2024/09/how-to-debug-php-applications-in.html * https://www.ekino.fr/publications/la-magie-de-xdebug/