Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
visual_studio_code [Le 17/03/2024, 17:45] 82.66.208.97 [Déboguer avec Xdebug et VSCodium (ou VSCode)] |
visual_studio_code [Le 31/03/2024, 16:35] (Version actuelle) 82.66.208.97 [Déboguer avec Xdebug et VSCodium (ou VSCode)] |
||
---|---|---|---|
Ligne 130: | Ligne 130: | ||
Pour un débogage depuis le serveur, tout est expliqué dans cette vidéo((voir [[https://www.youtube.com/watch?v=MmyxWy8jl7U|cette vidéo]])) ((d'après [[https://forum.ubuntu-fr.org/viewtopic.php?id=2082060|ce sujet]] sur le forum)) | Pour un débogage depuis le serveur, tout est expliqué dans cette vidéo((voir [[https://www.youtube.com/watch?v=MmyxWy8jl7U|cette vidéo]])) ((d'après [[https://forum.ubuntu-fr.org/viewtopic.php?id=2082060|ce sujet]] sur le forum)) | ||
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 local ou depuis un serveur web local - un seul fichier de configuration === | + | === Débogage sans seveur ou depuis un serveur web local - un seul fichier de configuration === |
1 - Installer xdebug | 1 - Installer xdebug | ||
Installer Xdebug: | Installer Xdebug: | ||
Ligne 146: | Ligne 146: | ||
</file> | </file> | ||
- | On peut utiliser deux fichiers pour la configuration de Xdebug. Le premier pour une session "CLI" (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 \\ | ||
Ligne 152: | Ligne 152: | ||
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>gerard@gerard-ThinkCentre-M700:~$ sudo rm /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> | + | <file>sudo rm /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> |
Effacer /etc/php/8.1/apache2/conf.d/20-xdebug.ini: | Effacer /etc/php/8.1/apache2/conf.d/20-xdebug.ini: | ||
- | <file>/etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> | + | <file>sudo rm /etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> |
- | 3 - Créee 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> | <file>sudo ln -s /etc/php/8.1/mods-available/xdebug.ini /etc/php/8.1/cli/conf.d/20-xdebug.ini</file> | ||
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> | <file>sudo ln -s /etc/php/8.1/mods-available/xdebug.ini /etc/php/8.1/apache2/conf.d/20-xdebug.ini</file> | ||
- | 4 - Puis configurer l'unique fichierde 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 | <file>zend_extension=xdebug.so | ||
xdebug.mode = develop, debug | xdebug.mode = develop, debug | ||
Ligne 176: | Ligne 176: | ||
<file><?php | <file><?php | ||
phpinfo();</file> | phpinfo();</file> | ||
- | On place ce fichier sur le serveur local dans le dossier /var/www/html et on place lance l'url 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/phpinfos.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: | <file>This program makes use of the Zend Scripting Language Engine: | ||
Ligne 182: | Ligne 182: | ||
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</file> | ||
- | Il existe un paragraphe concernant Xdebug sur cette page ou on peut créer un fichier xdebug_info dansle quel il faut insérer | + | Il existe un paragraphe concernant Xdebug sur cette page ou on peut créer un fichier xdebug_info.php dans lequel il faut insérer |
<file><?php xdebug_info(); | <file><?php xdebug_info(); | ||
?></file> | ?></file> | ||
+ | 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 y retrouve les paramètres de réglage que l'on a effectué dans le fichier /etc/php/8.1/mods-available/xdebug.ini | On y retrouve les paramètres de réglage que l'on a effectué dans le fichier /etc/php/8.1/mods-available/xdebug.ini | ||
Ligne 195: | Ligne 197: | ||
- Lancer l'application avec l'option "Start Debugging". Le de débogueur devient opérationnel \\ | - Lancer l'application avec l'option "Start Debugging". Le de débogueur devient opérationnel \\ | ||
- | 2 - avec un serveur local \\ | + | 2 - avec un serveur local: \\ |
- | - Ouvir votre fichier avec VSCode \\ | + | - Ouvrir votre fichier avec VSCode \\ |
- | Créer un fichier launch.json file (section "run and debbug" dans la partie gauche de l'interface) \\ | + | - Créer un fichier launch.json file (section "run and debbug" dans la partie gauche de l'interface) \\ |
- Créer un(des) breakpoint(s) \\ | - Créer un(des) breakpoint(s) \\ | ||
- | - Démarrer l'application avec l'option "Start Debugging" option. \\ | + | - Démarrer l'application avec l'option "Start Debugging".\\ |
- Lancer l'application avec un navigateur internet (localhost/my-progam.php).Le débogueur démarre. | - Lancer l'application avec un navigateur internet (localhost/my-progam.php).Le débogueur démarre. | ||
+ | |||
+ | 3 - avec le serveur web interne PHP: | ||
+ | - Lancer le serveur PHP sur le port 8082 (par exemple) en local: | ||
+ | <file> php -S localhost:8082</file> | ||
+ | - 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".\\ | ||
+ | - Lancer une requête HTTP avec le logiciel POSTMAN (par exemple) ou depuis un navigateur internet pour une requête GET.\\ | ||
+ | - Le débogueur devrait démarrer aussitôt. | ||
Ligne 207: | Ligne 217: | ||
PHP dispose d'un serveur web interne. Voici un exemple de démarrage! | PHP dispose d'un serveur web interne. Voici un exemple de démarrage! | ||
<file>php -S localhost:8000</file> | <file>php -S localhost:8000</file> | ||
- | === Extension === | + | === Extension Live Server=== |
- | Pour tester rapidement les fichiers [[:PHP]] sans avoir à passer par le serveur [[:LAMP]], on peut installer l'extension [[https://open-vsx.org/extension/yandeu/five-server|Live Server (Five Serveur)]] sur VSCodium.((d'après [[https://forum.ubuntu-fr.org/viewtopic.php?id=2082060|ce sujet]] sur le forum)) | + | Pour tester rapidement les fichiers [[:PHP]] sans avoir à passer par le serveur [[:LAMP]], on peut installer l'extension "Live Server" depuis VSCode ou VSCodium. |
- | == configuration == | + | Configuration: |
- | 3 configurations à effectuer (//File// -> //Preferences// -> //Settings//, puis on tape ''Five Server'' dans la barre de recherche): | + | (//File// -> //Preferences// -> //Settings//, puis on tape ''Live Server'' dans la barre de recherche): |
- Executable : ''/usr/bin/php'' | - Executable : ''/usr/bin/php'' | ||
- 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) |