Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
visual_studio_code [Le 09/09/2024, 12:43]
krodelabestiole
visual_studio_code [Le 06/03/2025, 21:13] (Version actuelle)
109.223.94.29 [Déboguer avec Xdebug et VSCodium (ou VSCode)]
Ligne 126: Ligne 126:
 ==== Déboguer avec Xdebug ​ et VSCodium (ou VSCode) ==== ==== Déboguer avec Xdebug ​ et VSCodium (ou VSCode) ====
  
-**Xdebug** permet de déboguer des fichiers ​php avec VSCodium ou VSCode. ​  ​+**Xdebug** permet de déboguer des fichiers ​[[:​PHP]] ​avec **VSCodium** ou **VSCode**.
  
 === Débogage depuis un serveur web local === === Débogage depuis un serveur web local ===
Ligne 133: Ligne 133:
 Par contre, dans la vidéo, il ne respecte pas les droits/​propriétés des fichiers/​dossiers dans le dossier /var/www (voir le paragraphe "10.1 permissions"​ de la page [[:​apache2]] ). Et cette version ne permet que déboguer depuis le serveur local. Par contre, dans la vidéo, il ne respecte pas les droits/​propriétés des fichiers/​dossiers dans le dossier /var/www (voir le paragraphe "10.1 permissions"​ de la page [[:​apache2]] ). Et cette version ne permet que déboguer depuis le serveur local.
  
-=== Débogage sans seveur ​ou depuis un serveur web local - un seul fichier de configuration ===+=== Débogage sans serveur ​ou depuis un serveur web local - un seul fichier de configuration ===
  
-1 - Installer xdebug  +1 - Installer xdebug 
-Installer Xdebug: + 
-<file> sudo apt install php-xdebug </file+Installer Xdebug : 
-Vérifier la bonne installation:​ +<code>sudo apt install php-xdebug</​code
-<file>php -v</file+Vérifier la bonne installation : 
-donne: +<code
-<​file>​gerard@gerard-ThinkCentre-M700:​~$ php -v permet de voir si Xdebug est installé. +utilisateur@utilisateur-ThinkCentre-M700:​~$ php -v 
-PHP 8.1.2-1ubuntu2.14 ​(cli) (built: ​Aug 18 2023 11:41:11) (NTS)+PHP 8.3.(cli) (built: ​Dec  2 2024 12:36:18) (NTS)
 Copyright (c) The PHP Group Copyright (c) The PHP Group
-Zend Engine v4.1.2, Copyright (c) Zend Technologies +Zend Engine v4.3.6, Copyright (c) Zend Technologies 
-    with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies +    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies 
-    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans +    with Xdebug v3.2.0, Copyright (c) 2002-2022, by Derick Rethans 
-gerard@gerard-ThinkCentre-M700:~$  +</​code>​ 
-</file> +<​note>​ Ces informations permettent de voir si Xdebug est installé et de repérer la version de PHP (8.3 ci-dessus). Les lignes de commande ci-dessous seront à adapter suivant vos versions</note>
 On peut utiliser deux fichiers pour la configuration de Xdebug. Le premier pour une session "​CLI"​ ( interface de ligne de commande - sans serveur) le deuxième pour le serveur web local: \\ On peut utiliser deux fichiers pour la configuration de Xdebug. Le premier pour une session "​CLI"​ ( interface de ligne de commande - sans serveur) le deuxième pour le serveur web local: \\
-* /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini ​\\ +  ​''​/​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini''​ 
-* /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini ​\\+  ''​/​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini''​
  
-2 - On va effacer ces deux fichiers et créer des liens symboliques vers le fichier ou se trouvera la configuration de xdebug. Un appel de/​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini ou de /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini nous ramènera vers le fichiers de configuration (/​etc/​php/​8.1/​mods-available/​xdebug.ini).Cela permet de n'​avoir qu'un seul fichier de configuration.+2 - On va effacer ces deux fichiers et créer des liens symboliques vers le fichier ou se trouvera la configuration de xdebug. Un appel de ''​/​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini'' ​ou de ''​/​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini'' ​nous ramènera vers le fichiers de configuration (''​/​etc/​php/​8.1/​mods-available/​xdebug.ini''​). Cela permet de n'​avoir qu'un seul fichier de configuration.
  
-Effacer ​ /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini:​ +Effacer ​''​/​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini'' ​
-<file>sudo rm /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini</​file>+<code>sudo rm /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini</​code>
 Effacer /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini:​ Effacer /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini:​
-<file>sudo rm /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini</​file>+<code>sudo rm /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini</​code>
  
 3 - Créer le premier lien symbolique: 3 - Créer le premier lien symbolique:
-<file>sudo ln -s /​etc/​php/​8.1/​mods-available/​xdebug.ini /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini</​file>+<code>sudo ln -s /​etc/​php/​8.1/​mods-available/​xdebug.ini /​etc/​php/​8.1/​cli/​conf.d/​20-xdebug.ini</​code>
 Puis le deuxième lien symbolique: Puis le deuxième lien symbolique:
-<file>sudo ln -s /​etc/​php/​8.1/​mods-available/​xdebug.ini /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini</​file>+<code>sudo ln -s /​etc/​php/​8.1/​mods-available/​xdebug.ini /​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini</​code>
  
 4 - Puis configurer l'​unique fichier de configuration /​etc/​php/​8.1/​mods-available/​xdebug.ini:​ 4 - Puis configurer l'​unique fichier de configuration /​etc/​php/​8.1/​mods-available/​xdebug.ini:​
-<file>​zend_extension=xdebug.so+<code>​zend_extension=xdebug.so
 xdebug.mode = develop, debug xdebug.mode = develop, debug
 xdebug.start_with_request = yes xdebug.start_with_request = yes
 xdebug.log = /​tmp/​xdebug.log xdebug.log = /​tmp/​xdebug.log
 xdebug.client_host = localhost xdebug.client_host = localhost
-xdebug.client_port = 9003</file>+xdebug.client_port = 9003</code>
  
 5 - Redémarrer apache2: 5 - Redémarrer apache2:
-<file>sudo systemctl restart apache2</​file>+<code>sudo systemctl restart apache2</​code>
  
-6 - Créer un fichier phpinfo.php dans lequel, on met: +6 - Créer un fichier ​''​phpinfo.php'' ​dans lequel, on met: 
-<file><?​php +<code><?​php 
-phpinfo();</​file>+phpinfo();</​code>
 On place ce fichier sur le serveur local dans le dossier /​var/​www/​html et on lance l'url [[http://​localhost/​phpinfo.php]] du fichier avec un navigateur web. On place ce fichier sur le serveur local dans le dossier /​var/​www/​html et on lance l'url [[http://​localhost/​phpinfo.php]] du fichier avec un navigateur web.
 Vérifier la bonne installation de Xdebug: Vérifier la bonne installation de Xdebug:
-<file>This program makes use of the Zend Scripting Language Engine:+<code>This program makes use of the Zend Scripting Language Engine:
 Zend Engine v4.1.2, Copyright (c) Zend Technologies Zend Engine v4.1.2, Copyright (c) Zend Technologies
     with Zend OPcache v8.1.2-1ubuntu2.14,​ Copyright (c), by Zend Technologies     with Zend OPcache v8.1.2-1ubuntu2.14,​ Copyright (c), by Zend Technologies
-    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans</​file>+    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans</​code>
 Il existe un paragraphe concernant Xdebug sur cette page ou on peut créer un fichier xdebug_infos.php dans lequel il faut insérer Il existe un paragraphe concernant Xdebug sur cette page ou on peut créer un fichier xdebug_infos.php dans lequel il faut insérer
-<file><?​php  +<code><?​php  
-xdebug_info();</​file>+xdebug_info();</​code>
 On doit également placer ce fichier dans le dossier /​var/​www/​html \\  On doit également placer ce fichier dans le dossier /​var/​www/​html \\ 
 on lance le fichier avec l'URL [[http://​localhost/​xdebug_info.php]] on lance le fichier avec l'URL [[http://​localhost/​xdebug_info.php]]
Ligne 211: Ligne 210:
 3 - avec le serveur web interne PHP:  3 - avec le serveur web interne PHP: 
 - Lancer le serveur PHP sur le port 8082 (par exemple) en local: - Lancer le serveur PHP sur le port 8082 (par exemple) en local:
-<file> php -S localhost:​8082</​file>+<code> php -S localhost:​8082</​code>
 - Créer un fichier launch.json file si besoin (section "run and debbug"​ dans la partie gauche de l'​interface) \\ - Créer un fichier launch.json file si besoin (section "run and debbug"​ dans la partie gauche de l'​interface) \\
 - Démarrer l'​application avec l'​option "Start Debugging"​.\\ - Démarrer l'​application avec l'​option "Start Debugging"​.\\
Ligne 217: Ligne 216:
 - Le débogueur devrait démarrer aussitôt. ​ - Le débogueur devrait démarrer aussitôt. ​
  
-==== Serveurs web internes ====+=== le fichier launch.json de symphony ​===
  
-=== Serveur ​web interne ​PHP ===+pour pouvoir déboguer Symfony, il faut utiliser le fichier ''​launch.json''​ suivant: 
 +<​code>​ 
 +
 +    "​version":​ "​0.2.0",​ 
 +    "​configurations":​ [ 
 +      { 
 +        "​name":​ "​Listen for Xdebug",​ 
 +        "​type":​ "​php",​ 
 +        "​request":​ "​launch",​ 
 +        "​port":​ 9003, 
 +        "​pathMappings":​ { 
 +          "​nom_du_dossier_du_projet":​ "​${workspaceFolder}"​ 
 +        }, 
 +        "​xdebugSettings":​ { 
 +          "​max_children":​ 512, 
 +          "​max_data":​ 1024, 
 +          "​max_depth":​ 5 
 +        } 
 +      } 
 +    ] 
 +  } 
 +</​code>​ 
 +   
 +==== Serveurs ​web PHP ====
  
-PHP dispose d'un serveur web interneVoici un exemple de démarrage! +[[:PHP]] permet de lancer ​un [[:​php#​serveur|serveur web simple]]Celui-ci peut être utilisé depuis **VScode**.
-<​file>​php ​-S localhost:​8000</​file>​+
  
-=== Extension Live Server===+=== Extension Live Server ===
  
 Pour tester rapidement les fichiers [[:PHP]] sans avoir à passer par le serveur [[:LAMP]], on peut installer l'​extension "Live Server"​ depuis VSCode ou VSCodium. Pour tester rapidement les fichiers [[:PHP]] sans avoir à passer par le serveur [[:LAMP]], on peut installer l'​extension "Live Server"​ depuis VSCode ou VSCodium.
Ligne 232: Ligne 253:
   - PHP.ini : ''/​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini''​ (à adapter, éventuellement)   - PHP.ini : ''/​etc/​php/​8.1/​apache2/​conf.d/​20-xdebug.ini''​ (à adapter, éventuellement)
   - Port : ''​9300''​   - Port : ''​9300''​
 +
 +=== Serveur web interne Symfony ===
 +
 +Le serveur PHP précédent fonctionne mais le serveur de Symfony est plus complet dans le cadre de l'​utilisation de ce framework.
 +Pour le lancer:
 +<​code>​symfony server:​start</​code>​
 +pour le stopper:
 +<​code>​symfony server:​stop</​code>​
  
 ===== Désinstallation ===== ===== Désinstallation =====
  • visual_studio_code.1725878618.txt.gz
  • Dernière modification: Le 09/09/2024, 12:43
  • par krodelabestiole