Ce mémo a été publié le 22 novembre 2014 et peut contenir des informations qui peuvent être incomplètes, non mises à jour voir erronées du fait de son ancienneté. N'hésitez pas à compléter votre recherche sur des articles plus récents.
Rate this post

Parfois on fait des echo vraiment par propre.
Parfois on envoi des informations dans un fichier log qu’on visualise en temps réel grâce à un « tail -f » en ssh,

Mais voilà, comment débugger son PHP si on a pas un accès SSH et aucune possibilité d’avoir un site de test (ou recette) rapidement sous la main ?

Un début de réponse…

PHP Console est une librairie qui permet de debugger PHP de façon simple dans la fenêtre DevTools de Google Chrome. sans que celles-ci ne soient visibles pour un visiteur.

…et il existe une extension WordPress pour l’utiliser !

Sur Google Chrome

PHP Console ne fonctionne pour le moment que sur Google Chrome et nécessite une extension Google Chrome : PHP Console extension disponible sur le Chrome Web Store.

Préparation et installation de l’extension dans WordPress

Une fois l’ajout de l’extension Google Chrome terminée, il faut :

Utilisez Git pour récupérer une copie (voir mon mémo « Utiliser git clone sous Windows » si vous êtes sous Windows)

Une fois les 2 répertoires récupérés, copiez le répertoire \php-console\src dans le répertoire \wp-php-console\lib\php-console\

Ensuite, transférez le répertoire wp-php-console sur le site web, dans le répertoire \wp-content\plugins\

Allez dans la gestion des extensions sur votre site WordPress, installez et activez l’extension.

Dans « Réglages > PHP Console » :

  • Spécifiez un mot de passe pour protéger l’affichage des données.
  • Autorisez votre adresse IP ou une plage d’adresse IP.
    Ex : 192.168.0.*,127.0.0.1 si vous avez votre site en local sur votre machine.
    Si vous êtes dans une entreprise avec un proxy et que le site web est chez un hébergeur, utilisez ce service pour connaitre l’adresse IP de sortie : http://www.mon-ip.com/

Utilisation

Dans un script PHP de votre thème ou de votre extension à debugger, utilisez cette ligne pour afficher la variable dans la fenêtre DevTools de Google Chrome.

Remplacez $var par la variable à tester et donnez lui un nom pour la repérer dans la console.

Dans Google Chrome, afficher la fenêtre DevTools (Ctrl + Shift + j).

Rechargez la page

Cliquez sur la clé dans la barre de saisie de l’URL pour saisir le mot de passe et cliquez sur le bouton « Login ».

Dans la fenêtre DevTools, cliquez sur « Console » et consultez le résultat.

Astuce

Si comme moi, les fenêtres d’avertissement vous agace, vous pouvez les supprimer.
Cliquer sur l’écran noir qui remplace la clé et décochez les notifications.

Bonus

En cous de développement d’un thème WordPress, j’ai ajouté cette fonction dans le fichier functions.php :

Du coup, c’est plus simple de me rappeler d’utiliser cette ligne pour débugger :

… et NetBeans reconnait la fonction 😉 .

Bon débuggage !