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 08/11/2023, 20:33] 86.253.169.11 [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 29: | Ligne 29: | ||
La clé PGP et le PPA peuvent être ajoutés comme suit : | La clé PGP et le PPA peuvent être ajoutés comme suit : | ||
- | <code> | + | <code bash> |
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | ||
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/ | sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/ | ||
Ligne 35: | Ligne 35: | ||
</code> | </code> | ||
Puis mettez à jour la liste des paquets et installez vscode : | Puis mettez à jour la liste des paquets et installez vscode : | ||
- | <code> | + | <code bash> |
sudo apt install apt-transport-https | sudo apt install apt-transport-https | ||
sudo apt update | sudo apt update | ||
- | sudo apt install code # or code-insiders | + | sudo apt install code # ou code-insiders |
</code> | </code> | ||
Ligne 60: | Ligne 60: | ||
Vous pouvez aussi l'installer directement à partir de dépôt du projet codium : | Vous pouvez aussi l'installer directement à partir de dépôt du projet codium : | ||
- | <code> | + | <code bash> |
# Téléchargement&import de la clé GPG | # Téléchargement&import de la clé GPG | ||
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg | wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg | ||
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. |
- | 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)) | + | === Débogage depuis un serveur web local === |
+ | 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. | ||
+ | === Débogage sans seveur ou depuis un serveur web local - un seul fichier de configuration === | ||
+ | 1 - Installer xdebug | ||
+ | Installer Xdebug: | ||
+ | <file> sudo apt install php-xdebug </file> | ||
+ | Vérifier la bonne installation: | ||
+ | <file>php -v</file> | ||
+ | donne: | ||
+ | <file>gerard@gerard-ThinkCentre-M700:~$ php -v permet de voir si Xdebug est installé. | ||
+ | PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS) | ||
+ | Copyright (c) The PHP Group | ||
+ | Zend Engine v4.1.2, Copyright (c) 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 | ||
+ | gerard@gerard-ThinkCentre-M700:~$ | ||
+ | </file> | ||
+ | |||
+ | 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/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. | ||
+ | |||
+ | 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> | ||
+ | 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> | ||
+ | |||
+ | 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> | ||
+ | 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> | ||
+ | |||
+ | 4 - Puis configurer l'unique fichier de configuration /etc/php/8.1/mods-available/xdebug.ini: | ||
+ | <file>zend_extension=xdebug.so | ||
+ | xdebug.mode = develop, debug | ||
+ | xdebug.start_with_request = yes | ||
+ | xdebug.log = /tmp/xdebug.log | ||
+ | xdebug.client_host = localhost | ||
+ | xdebug.client_port = 9003</file> | ||
+ | |||
+ | 5 - Redémarrer apache2: | ||
+ | <file>sudo systemctl restart apache2</file> | ||
+ | |||
+ | 6 - Créer un fichier phpinfo.php dans lequel, on met: | ||
+ | <file><?php | ||
+ | phpinfo();</file> | ||
+ | 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: | ||
+ | <file>This program makes use of the Zend Scripting Language Engine: | ||
+ | Zend Engine v4.1.2, Copyright (c) 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> | ||
+ | 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> | ||
+ | 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 | ||
+ | |||
+ | === Comment déboguer? === | ||
+ | Xdedug fonctionne de deux manières: | ||
+ | |||
+ | 1 - avec une session CLI (sans serveur et sans fichier de configuration launch.json): \\ | ||
+ | - Ouvrir votre fichier avec VSCode \\ | ||
+ | - Mettre des points d'arrêt \\ | ||
+ | - Lancer l'application avec l'option "Start Debugging". Le de débogueur devient opérationnel \\ | ||
- | ==== Extension VSCodium Five Server - fichiers HTML et PHP ==== | + | 2 - avec un serveur local: \\ |
+ | - 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(des) breakpoint(s) \\ | ||
+ | - 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. | ||
- | 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)) | + | 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. | ||
- | 3 configurations à effectuer (//File// -> //Preferences// -> //Settings//, puis on tape ''Five Server'' dans la barre de recherche): | ||
+ | ==== Serveurs web internes ==== | ||
+ | === Serveur web interne PHP === | ||
+ | PHP dispose d'un serveur web interne. Voici un exemple de démarrage! | ||
+ | <file>php -S localhost:8000</file> | ||
+ | === 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. | ||
+ | Configuration: | ||
+ | (//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) |