Scénario :
Je veux installer Xdebug pour php7.1 sur MacOs pour débugger du ORO
Installer et configurer Xdebug
Placez-vous dans un terminal
La méthode la plus propre est d'ajouter ce repository, Il va nous permettre d'avoir facilement accès à toutes les extensions dont on a besoin
brew tap kyslik/homebrew-php
On cherche celles pour notre version (php7.1)
brew search php71
Vous aurez un truc qui ressemble à ça :
kyslik/php/php71-amqp | kyslik/php/php71-apcu |
kyslik/php/php71-amqp | kyslik/php/php71-intl |
kyslik/php/php71-apcu-bc | kyslik/php/php71-mcrypt |
kyslik/php/php71-xdebug | kyslik/php/php71-mongodb |
Dans l'immédiat on a besoin que de xdebug, on l'installe :
brew install kyslik/php/php71-xdebug
On vérifie :
php -v
Vous devriez avoir Xdebug qui est apparu :
PHP 7.1.14 (cli) (built: Feb 2 2018 08:42:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
with Zend OPcache v7.1.14, Copyright (c) 1999-2018, by Zend Technologies
HomeBrew a du génerer un .ini pour configurer xdebug :
php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/7.1
Loaded Configuration File: /usr/local/etc/php/7.1/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.1/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.1/conf.d/ext-intl.ini,
/usr/local/etc/php/7.1/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/7.1/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.1/conf.d/ext-xdebug.ini
On l'ouvre :
vim /usr/local/etc/php/7.1/conf.d/ext-xdebug.ini
Copiez-collez cette config :
[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host= 127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log ="/usr/local/etc/php/7.1/conf.d/ext-xdebug.log"
xdebug.idekey = PHPSTORM
zend_extension : Chemin de l'extension (automatique)
xdebug.remote_host : Le serveur que vous voulez écouter
xdebug.remote_port : Le port que va utiliser xdebug, vérifiez bien qu'il n'est pas utilisé
xdebug.remote_log : On peut logger les erreurs, très pratique pour débugger, vous pouvez mettre le ficher que vous voulez.
Configurer PHPStorm
On va dans Préference > Language & Framework > PHP
Dans Cli Interpreter, on choisi notre php 7.1, et on clique sur les "..."
On oublie pas de mettre le chemin de l'extension (La valeur de zend_extension)
On va dans Run > Edit Configuration > Le bouton + > PHP Web PAGE
On créer le serveur
Host : Vous mettez l'IP que vous utilisez avec le app/console server:start
Port : Pareil
On oublie pas de sélectionner Xdebug
Mapping : Si vous n'en mettez pas, et que vous avez une erreur sans, mettez le même chemin à droite qu'à gauche.On va dans Préference > Language & Framework > PHP > Debug
Tout devrait être bon, on va dans Run > Debug , on choisi notre PHP Web Page, et voilà !