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.

Commenti offerti da Disqus