Outils pour utilisateurs

Outils du site


dev:php:debogage
,

: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

dev/php/debogage.txt · Dernière modification : 2025/06/29 15:37 de yoann