Outils pour utilisateurs

Outils du site


dev:php:debogage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
dev:php:debogage [2019/08/01 15:44] – créée yoanndev:php:debogage [2025/06/29 15:37] (Version actuelle) yoann
Ligne 1: Ligne 1:
 {{tag>dev php}} {{tag>dev php}}
 +
 +:TODO_DOCUPDATE:
  
 ====== 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
 </code> </code>
 +
 +Afficher les fichiers de configuration chargés par la CLI :
 +<code bash>
 +
 +php --ini
 +</code>
 +
 +Afficher les modules actifs :
 +<code bash>
 +php -m
 +</code>
 +
  
 Redéfinir la configuration locale dans un script Redéfinir la configuration locale dans un script
Ligne 15: Ligne 29:
 require_once('problem_file.php'); require_once('problem_file.php');
  
-Ecriredans le journal de log+Ecrire dans le journal de log
 error_log("test errors log...", 0); error_log("test errors log...", 0);
 </code> </code>
Ligne 23: Ligne 37:
 phpinfo(); phpinfo();
 </code> </code>
 +
 +
 +===== Débogage avancé en CLI avec xdebug =====
 +
 +
 +Installer le module PHP xdebug :
 +<code bash>
 +apt install php8.2-xdebug
 +</code>
 +
 +
 +Modifier le fichier de configuration ''/etc/php/8.2/cli/conf.d/20-xdebug.ini''
 +
 +<file>
 +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
 +</file>
 +
 +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
 +</code>
 +
 +
 +Télécharger le client xdebug :
 +
 +<code bash>
 +cd /opt
 +wget "https://xdebug.org/files/binaries/dbgpClient"
 +chmod +x ./dbgpClient
 +</code>
 +
 +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>
 +./dbgpClient 
 +Xdebug Simple DBGp client (0.6.1)
 +Copyright 2019-2024 by Derick Rethans
 +
 +Waiting for debug server to connect on port 9003.
 +</code>
 +
 +On exécute maintenant le  script en passant par le débugueur :
 +
 +<code bash>
 +XDEBUG_TRIGGER=1 php /path/to/script.php
 +</code>
 +
  
 ===== Références ===== ===== Références =====
Ligne 30: Ligne 107:
   * https://stackoverflow.com/questions/3758418/numeric-values-of-error-reporting-levels   * 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://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/
dev/php/debogage.1564674257.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)