d'abord installer xdebug:
sudo apt-get install php5-xdebug
vérifier qu'il est bien installer en faisant dans un terminal:
php --version
on doit avoir qque chose comme ca (avec xdebug à la fin).
PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
(on peut aussi vérifier avec un phpinfo(); et vérifier qu'il est présent dans l'encart à côté du logo Zend)
Ensuite, modifier le fichier /etc/php5/apache2/conf.d/20-xdebug.ini et ajouter à la ligne:
zend_extension=xdebug.so
les lignes:
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="<AMP home\tmp>"
(voir https://www.jetbrains.com/phpstorm/help/configuring-xdebug.html pour plus de détails)
Dans PHPStorm, aller dans Settings/Languages&Frameworks/PHP et choisir un interpreteur PHP.
Puis aller dans le sous-onglet Debug et vérifier que le port pour xdebug est bien 9000 et que Can accept external connections et coché.
Il suffit ensuite de paramétrer firefox en installant un plugin, comme celui-ci: https://addons.mozilla.org/en-US/firefox/addon/the-easiest-xdebug/
ou bien utiliser les bookmarlets fait surt mesure par jetbrains : https://www.jetbrains.com/phpstorm/marklets/ (glisser/déposer les liens sur la barre personnelle...)
voir aussi https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
Ensuite, important, dans phpstorm, ne pas toucher au menu debug, mais simplement activer le bouton Start Listening for PHP Debug Connections
Mettre éventuellement un stop dans son programme:
Côté firefox, lancer le debuggage (Start debugger par exemple) et lancer/rafraichir la page à débugger. Sur phpstorm apparait alors une fenetre pour confirmer le fichier à débugger et voilà....
Sous Phpstorm, dans l'onglet Debugger, on peut suivre les variables. Petit truc : on peut faire glisser une variable depuis la fenetre Variables vers Watches pour la suivre plus particulièrement..
Appuyer sur F8 pour avancer pas à pas dans le programme...