PREMESSA

La seguente guida dà per scontato che abbiate configurato un web server a vostra scelta (apache, nginx).
Il sistema operativo utilizzato è Linux Mint ma vanno bene tutte le derivate Debian come Ubuntu.
Il web server in questione è Apache2.

INSTALLAZIONE XDEBUG

  • installare php-pear tramite il comando:
sudo apt-get install php-pear php5-dev
  • installare xdebug tramite il comando:
sudo pecl install xdebug
  • modificare il file php.ini:
sudo nano /etc/php5/apache2/php.ini

aggiungendo questi dati alla fine del file:

zend_extension=xdebug.so
xdebug.force_display_errors=1
xdebug.force_error_reporting=1
xdebug.cli_color=1
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=1024
xdebug.var_display_max_depth=50
xdebug.max_nesting_level=1000
xdebug.remote_enable=1
xdebug.idekey=MYCUSTOMKEY
xdebug.remote_autostart=1
  • salvare il file con CTRL+O e uscire con CTRL+X

NOTE: xdebug.idekey = MYCUSTOMKEY è un valore a vostra scelta che andrà inserito poi in phpstorm

  • riavviare il web server:
sudo service apache2 restart

CONFIGURAZIONE PHPSTORM

  • premere CTRL+Maiusc+A e cercare “Plugins”

phpstorm plugins

  • cliccare su Browse repositories

phpstorm browse repositories

  • cercare “remote call” e installare il plugin

phpstorm remote call

  • riavviare phpstorm per completare l’installazione

CONFIGURAZIONE PHPSTORM – Progetto

  • File > Settings
  • cercare “remote call”
  • togliere la spunta su “Allow requests to ‘localhost’ only”

phpstorm remote call

  • cliccare su Apply e poi su OK

CONFIGURAZIONE PHPSTORM – Debugger

  • Run > Edit Configurations
  • aggiungere un nuovo “PHP Remote Debug”

phpstorm debug

  • sotto “Servers”: aggiungere un nuovo server con debugger Xdebug (i campi rimanenti sono in base a come avete impostato il vostro server web, solitamente tutto localhost)

phpstorm server

  • Ide key(session id): impostare il valore precedentemente scelto, qui nell’esempio MYCUSTOMKEY

phpstorm ide key

  • salvare il tutto
  • avviare il debugger aggiungendo anche un breakpoint per verificare che tutto sia corretto

phpstorm debug

ATTENZIONE!

Magento è meglio che abbia la cache disabilitata altrimenti al refresh non viene “attivato” il debugger.
In ogni caso la presente configurazione può essere utilizzata anche in altri contesti.