Line 134:
Line 134:
====Mappage pour l'édition====
====Mappage pour l'édition====
−
Si vous souhaitez également éditer du code, vous devrez configurer une forme de mappage de fichiers entre l'URI envoyée par le débogueur et votre configuration « Serveur » dans Komodo
+
Si vous souhaitez également éditer du code, vous devrez configurer une forme de mappage de fichiers entre l'URI envoyée par le débogueur et votre configuration « Serveur » dans Komodo.
−
Notez que sans certaines des bibliothèques esmith installées localement, vous recevrez des avertissements indiquant que vous ne parviendrez pas à localiser certains fichiers, mais ceux-ci peuvent être ignorés en toute sécurité.
+
Notez que sans certaines des bibliothèques e-smith installées localement, vous recevrez des avertissements indiquant que vous ne parviendrez pas à localiser certains fichiers, mais ceux-ci peuvent être ignorés en toute sécurité.
−
Dans les préférences de Komodo, vous devez configurer un compte serveur/distant pour le serveur distant. par exemple :
+
Dans les préférences de Komodo, vous devez configurer un compte serveur/distant pour le serveur distant, par exemple :
−
Compte distant : Test_v10
+
Compte distant : Test_v10
−
Type : SCP
+
Type : SCP
−
Port : 2222
+
Port : 2222
−
Nom d'utilisateur : root
+
Nom d'utilisateur : root
−
Mot de passe : somepass (ou utilisez des clés SSH)
+
Mot de passe : monmotdepasse (ou également utilisez des clés SSH)
Vous pouvez ensuite configurer un mappage similaire à celui-ci :
Vous pouvez ensuite configurer un mappage similaire à celui-ci :
−
−
URI : file://v9-test/
−
Maps To : scp://Test_v9/
−
−
Ou
−
−
URI : file://v9-test/etc/e-smith
−
Maps To : scp://Test_v9/etc/e-smith
−
−
Vous pouvez être plus précis sur les répertoires si vous le souhaitez. N'oubliez pas que vous héritez des autorisations du serveur : vous ne pouvez pas enregistrer un fichier en lecture seule sur le serveur !
−
−
−
Mapping for editing====
−
−
Should you wish to actually edit code as well you will need to set up some form of file mapping between the URI that the debugger sends and your 'Server' setup in Komodo
−
−
Note that without some of the esmith libraries installed locally you will get some warnings about being unable to locate certain files but these can safely be ignored.
−
−
In Komodo preferences you need to setup a Server/Remote Account for the remote server. e.g.
−
−
Remote Account : Test_v10
−
Type: SCP
−
Port: 2222
−
Username: root
−
Pass: somepass (or alternatively use SSH keys)
−
−
You can then set up a mapping similar to this:
URI : file://v9-test/
URI : file://v9-test/
Maps To : scp://Test_v9/
Maps To : scp://Test_v9/
−
Or
+
Ou :
URI : file://v9-test/etc/e-smith
URI : file://v9-test/etc/e-smith
Maps To : scp://Test_v9/etc/e-smith
Maps To : scp://Test_v9/etc/e-smith
−
You could be more specific about the directories should you require. Remember that you inherit the server permissions - you cannot save a file that is Read Only on the server !
+
Vous pouvez être plus précis sur les répertoires si vous le souhaitez. N'oubliez pas que vous héritez des autorisations du serveur : vous ne pouvez pas enregistrer un fichier en lecture seule sur le serveur !
−
−
====Local file mapping====
−
−
I seemed to have managed this using sshfs:
−
shfs -p 2222 root@192.168.10.199:/ ~/Mounts/somedirectory
+
====Mappage de fichiers locaux====
+
J'ai réussi à le faire en utilisant sshfs :
−
You can then access the files normally and it is easy to map the remote to the 'local' files.
+
sshfs -p 2222 root@192.168.10.199:/ ~/Mounts/unRepertoire
−
====Tidying up afterwards====
+
Vous pouvez ensuite accéder aux fichiers normalement et il est facile de mapper la télécommande aux fichiers « locaux ».
−
Either reboot the server or use the following:
+
====Rangement a posteriori====
+
Redémarrez le serveur ou utilisez la méthode suivante :
export PERL5LIB=/usr/local/lib64/perl5:/usr/local/share/perl5:/usr/lib64/perl5/vendor_perl:/usr/share/perl5/vendor_perl
export PERL5LIB=/usr/local/lib64/perl5:/usr/local/share/perl5:/usr/lib64/perl5/vendor_perl:/usr/share/perl5/vendor_perl
export PERLDB_OPTS=
export PERLDB_OPTS=
export DBGP_IDEKEY=jdoe
export DBGP_IDEKEY=jdoe
−
==== Perl CGI Debugging====
+
====Débogage CGI Perl====
−
[[Debugging CGI programs on live production servers can seriously impair performance. You have been warned !!]]
+
[[Le débogage des programmes CGI sur des serveurs de production en direct peut sérieusement nuire aux performances. Vous êtes prévenu(e) !!]]
−
Please see here for further details:
+
Veuillez consulter ici pour plus de détails :
http://docs.komodoide.com/Manual/debugperl#debugging-perl-komodo-ide-only_configuring-perl-for-cgi-debugging
http://docs.komodoide.com/Manual/debugperl#debugging-perl-komodo-ide-only_configuring-perl-for-cgi-debugging
−
You would need a custom httpd.conf fragment. I used 46PerlDebug with these options (configure to suit)
+
Vous aurez besoin d'un fragment httpd.conf personnalisé. J'ai utilisé 46PerlDebug avec ces options (configurer en conséquence) :
SetEnv PERL5LIB "/opt/dbgp/perllib:$PERL5LIB"
SetEnv PERL5LIB "/opt/dbgp/perllib:$PERL5LIB"
Line 215:
Line 186:
SetEnv DBGP_IDEKEY "user"
SetEnv DBGP_IDEKEY "user"
−
You should now be able access your cgi-script and debug accordingly.
+
Vous devriez maintenant pouvoir accéder à votre script cgi et déboguer en conséquence.
−
However, having tried it you cannot use this on server-manager panels because perl is setuid.
+
Cependant, après l'avoir essayé, vous ne pouvez pas l'utiliser sur les panneaux du gestionnaire de serveur car Perl est « setuid ».
−
It could be used in other scenarios, but not server-manager.
+
Il pourrait être utilisé dans d'autres scénarios, mais pas dans le gestionnaire de serveur.
−
===Multiple machine debug proxy===
+
===Proxy de debogage multi-machines===
TBA
TBA
−
Notes are here:
+
Les notes sont ici :
http://docs.komodoide.com/Manual/debugger#debugging-programs-komodo-ide-only_remote-debugging_debugger-proxy
http://docs.komodoide.com/Manual/debugger#debugging-programs-komodo-ide-only_remote-debugging_debugger-proxy
−
===Perl with Visual Studio===
+
===Perl avec Visual Studio===
−
{{Note box|To be refined}}
+
{{Note box|type=Note : |à affiner.}}
−
Still working on this but we need Perl Language Server
+
Nous travaillons toujours sur ce sujet, mais nous avons besoin du serveur de langage Perl.
−
On your server:
+
Sur votre serveur :
−
yum --enablerepo=* install gcc gcc-c++ perl-App-cpanminus perl-AnyEvent-AIO perl-Coro
+
yum --enablerepo=* install gcc gcc-c++
−
cpanm Class::Refresh
+
cpan App::cpanminus
−
cpanm ExtUtils::CBuilder
cpanm Compiler::Lexer
cpanm Compiler::Lexer
−
cpanm Hash::SafeKeys
cpanm Perl::LanguageServer
cpanm Perl::LanguageServer
−
On your workstation:
+
Sur votre station de travail :
−
+
* configurez vos serveurs distants à l'aide des clés ssh dans .ssh/config ;
−
* Set up your remote servers using ssh keys in .ssh/config
+
* installez Visual Studio Code Remote Explorer ;
−
* Install Visual Studio Code Remote Explorer
+
* redémarrez ;
−
* Restart
+
* accédez à Remote Explorer et vous devriez voir votre liste de serveurs ;
−
* Go to Remote Explorer and you should see your server list
+
* ouvrez dans la fenêtre actuelle ou une nouvelle ;
−
* Open in Current or New window
+
* sélectionnez la plateforme et laissez VS Code s'installer ;
−
* Select the platform and let VS Code install itself
+
* accédez à l'explorateur de fichiers ;
−
* Go to File explorer
+
* ouvrir le dossier ;
−
* Open Folder
+
* il vous suggérera d'ouvrir dans /root/ mais je trouve plus facile d'ouvrir dans / ;
−
* It will suggests opening in /root/ but I find it easier to open in /
+
* cliquez sur OK et vos dossiers apparaîtront à gauche ;
−
* Click OK and your folders will appear left
+
* accédez à votre fichier et ouvrez-le ;
−
* Go to your file and open it
+
* définissez un point d'arrêt en haut ;
−
* Set a break point near the top
+
* accédez maintenant à Debug, ajoutez une configuration ;
−
* Now go to Debug, Add a Configuration, and accept the defaults
−
* Now run the Debug and you should see the code stop at one of your break points
+
Exemple de configuration :
+
{
+
// Utiliser IntelliSense pour en savoir plus sur les attributs possibles.
+
// Passer la souris pour afficher les descriptions des attributs existants.
+
// Pour plus d'informations, voir : https://go.microsoft.com/fwlink/?linkid=830387
+
"version": "0.2.0",
+
"configurations": [
+
{
+
"type": "perl",
+
"request": "launch",
+
"name": "SMB",
+
//"program": "${workspaceFolder}/../${relativeFile}",
+
//"program": "${relativeFile}",
+
"program": "/root/scripts/myTestFile.pl",
+
"stopOnEntry": true,
+
"reloadModules": true
+
},
+
]
+
}
−
You can now step through your code.
+
* exécutez maintenant Debug et vous devriez voir le code s'arrêter à l'un de vos points d'arrêt.
−
===PHP remote debugging===
+
Vous pouvez maintenant parcourir votre code.
−
You can debug on your local workstation but it is extremely useful to be able to debug direct on the server environment.
+
===Débogage PHP à distance===
−
You may have one PHP version installed on your desktop but be running a different one on the server, and you may have a different server setup.
+
Vous pouvez déboger sur votre station de travail locale mais il est extrèmememnt utile de pouvoir déboger directement dans l'environnement du serveur.
+
Vous pouvez avoir une version de PHP installée sur votre ordinateur mais en avoir une différente qui tourne sur le serveur et vous pouvez avoir une configuration différente sur le serveur.
−
First you need to install the xdebug packages eg:
+
D'abord, vous avez besoin d'installer les paquets xdebug, par exemple :
−
{{Note box|Xdebug 3 is not available for PHP versions less than 7.2 You will need php54-php-pecl-xdebug}}
+
{{Note box|type=Note : |Xdebug 3 n'est pas disponible pour les versions de PHP inférieures à 7.2. Vous aurez besoin de php54-php-pecl-xdebug.}}
yum install php74-php-pecl-xdebug3
yum install php74-php-pecl-xdebug3
yum install php80-php-pecl-xdebug3
yum install php80-php-pecl-xdebug3
−
Or
+
Oo :
yum install php*php-pecl-xdebug3
yum install php*php-pecl-xdebug3
−
Next you need a small template fragment to enable remote debugging.
+
Ensuite, vous avez besoin d’un petit fragment de modèle pour permettre le débogage à distance.
=====Xdebug 2=====
=====Xdebug 2=====
Line 287:
Line 274:
nano /etc/e-smith/templates-custom/etc/php.ini/90XdebugSettings
nano /etc/e-smith/templates-custom/etc/php.ini/90XdebugSettings
−
Add this:
+
Ajouter ceci :
[Debugger]
[Debugger]
Line 302:
Line 289:
=====Xdebug 3 =====
=====Xdebug 3 =====
−
New syntax.
+
Nouvelle syntaxe.
https://xdebug.org/docs/upgrade_guide
https://xdebug.org/docs/upgrade_guide
Line 319:
Line 306:
−
Expand templates and restart services:
+
Expandre les modèles et redémarrer les services :
signal-event webapps-update
signal-event webapps-update
−
We should see Xdebug here
+
Nous devrions voir Xdebug ici :
php74 -v
php74 -v
Line 332:
Line 319:
with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
−
Or like this:
+
Ou comme cela :
php80 -v
php80 -v
−
PHP 8.0.19 (cli) (built: May 10 2022 08:07:35) ( NTS gcc x86_64 )
+
PHP 8.0.19 (cli) (built: May 10 2022 08:07:35) ( NTS gcc x86_64 )
−
Copyright (c) The PHP Group
+
Copyright (c) The PHP Group
−
Zend Engine v4.0.19, Copyright (c) Zend Technologies
+
Zend Engine v4.0.19, Copyright (c) Zend Technologies
with Zend OPcache v8.0.19, Copyright (c), by Zend Technologies
with Zend OPcache v8.0.19, Copyright (c), by Zend Technologies
with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans
with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans
−
====Komodo IDE====
+
====IDE Komodo====
−
+
Nous pouvons obtenir le proxy de débogage à partir de l'installation, le déplacer vers le serveur, puis exécuter à partir de là :
−
We can obtain the debug proxy from the installation, and move it to the server and then execute from there:
python /root/dbgp/bin/pydbgpproxy -d 127.0.0.1:9001 -i 192.168.10.1:9003
python /root/dbgp/bin/pydbgpproxy -d 127.0.0.1:9001 -i 192.168.10.1:9003
−
Or alternatively grab the lastest xdebug client here:
+
Ou bien, récupérez le dernier client xdebug ici :
mkdir /root/xdbg-proxy
mkdir /root/xdbg-proxy
Line 355:
Line 341:
./dbgpProxy -s 127.0.0.1:9001 -i 192.168.10.1:9003
./dbgpProxy -s 127.0.0.1:9001 -i 192.168.10.1:9003
−
In Komodo Go to Preferences, Debugger, Connections
+
Dans Komodo, allez à Preferences, Debugger, Connections
−
Komodo should listen on:
+
Komodo devrait être écouté sur « System provide port ».
−
System provide port
−
Check 'I am running a debugger proxy'
+
Vérifiez 'I am running a debugger proxy'
−
Listener address: IP.of.your.server:9003
+
Adresse découte : IP.de.votre.serveur:9003
−
Proxy key: individual key name for this desktop
+
Clé proxy : nom de la clé individuelle pour cet ordinateur
−
Save and check that it connected to the debugger.
+
Enregistrez et vérifiez qu'il est connecté au débogeur.
−
Now to debug a file:
+
Maintenant pour déboguer un fichier :
−
https://your.server.ip/index.php?XDEBUG_SESSION_START=mydesktopkey
+
https://ip.de.votre.serveur/index.php?XDEBUG_SESSION_START=mydesktopkey
−
Or
+
Ou :
−
https://your.server.ip/index.php?somevalue=3&XDEBUG_SESSION_START=mydesktopkey
+
https://ip.de.votre.serveur/index.php?somevalue=3&XDEBUG_SESSION_START=mydesktopkey
====Visual Studio/VS Codium ====
====Visual Studio/VS Codium ====
−
Sample launch.json
+
Exemple launch.json
−
Note for newer versions of Xdebug the default port is now 9003
+
Remarque pour les versions plus récentes de Xdebug, le port par défaut est désormais 9003.
−
Pay careful attention to the path mapping,. This has to be absolutely correct or it will not work.
+
Faites très attention au mappage des chemins. Cela doit être absolument correct sinon cela ne fonctionnera pas.
{
{
Line 406:
Line 391:
}
}
−
Now you can run start the PHP debugger in Codium so it connects the to the debug server, and then trigger it with a URL like this:
+
Vous pouvez maintenant exécuter le débogueur PHP dans Codium afin qu'il se connecte au serveur de débogage, puis le déclencher avec une URL comme celle-ci :
https://my.SME.Server/testbay/phptestcode/myTestPhpFile.php?XDEBUG_SESSION_START=mycodiumkey
https://my.SME.Server/testbay/phptestcode/myTestPhpFile.php?XDEBUG_SESSION_START=mycodiumkey
−
===Editors and IDEs===
+
===Editeurs et IDEs===
−
Some Open Source Editors/IDEs
+
Quelques éditeurs « Open Source » / IDEs
−
These all allow remote debugging.
+
Ils permettent tous le débogage à distance.
Komodo-IDE https://www.activestate.com/products/komodo-ide
Komodo-IDE https://www.activestate.com/products/komodo-ide
Line 426:
Line 411:
Codium https://itsfoss.com/vscodium/ - Use PHP Debug - felixfbecker.php-debug
Codium https://itsfoss.com/vscodium/ - Use PHP Debug - felixfbecker.php-debug
<br>
<br>
−
For Codium I can't see a remote Perl debugger as yet.
+
Pour Codium, je ne vois pas encore de débogueur Perl distant.
----
----