Installation d'un environnement de développement / débogage (IDE) PHP/MySQL associé à un SE4 de test

Avec quel logiciel ?

C'est avant tout une histoire de goût. Il en existe deux principaux :

Les deux sont multiplate-forme et s'appuient sur un environnement Java pour fonctionner.

Au moment de sa première exécution, l'IDE va proposer :

  • de créer un nouveau projet
  • d'en ouvrir un existant
  • d'en importer d'une ancienne version

ExempleConfiguration d'un projet sur Netbeans

Au moment de sa première exécution, Netbeans va proposer de créer un nouveau projet

ÉcranConfiguration du projet

  • 1

    Nom du projet

  • 2

    Chemin vers les sources

  • 3

    Version de php

ÉcranInteraction avec le serveur de développement Se4

Il s'agit d'indiquer la manière dont Netbeans va communiquer avec le serveur de développement.

  • 1

    On indique que le serveur est distant.

  • 2

    On indique l'url du se4 de développement.

  • 3

    Indispensable : Il faudra configurer le mode de communication entre votre machine et le se4. Ce point est détaillé dans l'écran suivant de cette documentation.

  • 4

    On choisit le moment où les fichiers sources modifiés seront envoyés au serveur de développement. Ici lors de l'enregistrement.

Attention

A ce stade il est indispensable, de configurer la liaison avec le serveur de développement. (bouton Manage)

ÉcranConfiguration de la connexion ssh avec le Se4

Il s'agit de renseigner les éléments utiles afin que la machine hébergeant les sources puisse envoyer les fichiers modifiés vers le serveur de développement.

  • 1

    Adresse IP du SE4

  • 2

    Nom de l'utilisateur de connexion : laisser root

  • 3

    Saisir le mot de passe root si la connexion ssh se fait par ce biais.

  • 4

    Indiquer le chemin vers la clé ssh public et le fichier known_hosts si la connexion ssh se fait par ce biais (alternative au mot de passe).

  • 5

    Important : spécifier le chemin des sources php du serveur de développement. Donc forcément /var/www/sambaedu

  • 6

    Possibilité de tester la connexion avant validation

Truc & astuceActivation du débogage en direct

En plus de l'activation de Xdebug via l'interface, il vous faudra également déclarer l'adresse IP de la machine hébergeant Neatbeans dans le fichier de configuration de Xdebug sirtué quant à lui sur le Se4 de développement.

Il s'agit de la ligne xdebug.remote_host

Exemple

Voici pour exemple le contenu du mien. Il est sans doute possible de le simplifier.

dim. nov. 03 23:47:04 root@se4fs.:

~# cat /etc/php/7.0/fpm/conf.d/20-xdebug.ini

zend_extension=xdebug.so

[debug]; Remote settingsxdebug.remote_autostart=off

xdebug.remote_enable=on

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_host=10.127.164.5

xdebug.remote_port=9000

; General

xdebug.auto_trace=off

xdebug.collect_includes=on

xdebug.collect_params=on

xdebug.collect_return=on

xdebug.default_enable=on

xdebug.extended_info=1

xdebug.manual_url=http://www.php.net

xdebug.show_local_vars=1

xdebug.show_mem_delta=1

xdebug.max_nesting_level=100

;xdebug.idekey=

; Trace optionsxdebug.trace_format=1

xdebug.trace_output_dir=/var/www/sambaedu/debug

xdebug.trace_options=1xdebug.trace_output_name=trace

; Profiling

xdebug.profiler_append=1

xdebug.profiler_enable=0

xdebug.profiler_enable_trigger=1

xdebug.profiler_output_dir=/var/www/sambaedu/debug

xdebug.profiler_output_name=cachegrind.out

xdebug.show_error_trace = 1

xdebug.collect_params = 3

Truc & astuceUtilisation du

Maintenant que tout est en place, On peut lancer le débogage.

ÉcranConfiguration du projet

  • 1

    Nom du fichier php en exécution

  • 2

    Saisir le mot de passe root si la connexion ssh se fait par ce biais

  • 3

    point d'arrêt sur lequel le script est pour le moment arrêté

  • 4

    Affichage des variables en cours

  • 5

    La variable $mp est un tableau indexé multi dimensionnels.

ConseilCe qui est énorme

Avec la souris, survolez une variable simple dans le script ($login par exemple) et vous voyez sa valeur dans une "bulle".

Pour les variables plus complexes (indexées par exemple) ou les fonctions , il faut les surligner et placer le curseur dessus.

Clic droit sur une variable ou une fonction localise son utilisation ou sa déclaration dans tous les scripts du projet.

Dans le menu Versionning ->Local history, on peut voir toutes les versions enregistrées du fichier, ainsi que les diffs. Et bien sûr revenir à une version antérieure !

Exemple