Skip to content

Instantly share code, notes, and snippets.

@YumeShichi
Last active August 29, 2015 14:01
Show Gist options
  • Save YumeShichi/c2356aab08dc62660cec to your computer and use it in GitHub Desktop.
Save YumeShichi/c2356aab08dc62660cec to your computer and use it in GitHub Desktop.

Xdebug

Configuration du serveur

  • Installer Xdebug (déjà fait)

  • Exécuter : sudo editor /etc/php5/conf.d/xdebug.ini :

      xdebug.remote_enable=true
      xdebug.remote_mode="req"
      xdebug.remote_connect_back=1
      xdebug.remote_port=9000
      xdebug.remote_handler=dbgp
      xdebug.collect_params=2
      xdebug.remote_log=/var/log/xdebug.log
    
  • Exécuter sudo editor /etc/nginx/nginx.conf :

          http {
              ...
          
              set_real_ip_from 127.0.0.1;
              real_ip_header X-Forwarded-For;
              
              ...
    
  • Exécuter sudo service php5-fpm reload && sudo service nginx reload

Configuration du client

  • Générer un bookmarklet : http://www.jetbrains.com/phpstorm/marklets/ :
    • IDE key : PHPSTORM (la valeur n'est pas très importante, puisque en fonction de l'IDE, elle n'est pas prise en compte pour filtrer)
    • Récupérer uniquement le bookmarklet "Debug this page" pour la présentation : il créé un cookie XDEBUG_SESSION, recharge la page puis supprime le cookie. Il est également possible de déclencher Xdebug avec un paramètre GET/POST : XDEBUG_SESSION_START=WHATEVER.
  • Configuration de l'IDE :
  • Dans votre navigateur, allez sur un projet à debugguer (ex : http://www.evaneos.com.dev), cliquez sur le bookmarklet "Debug this page", votre IDE devrait réagir et s'arrêter sur votre point d'arrêt. La première fois, il faudra configurer le path mapping.
  • Utilisation (en live)

Ressources supplémentaires

@oliviermadre
Copy link

location ~.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /foo/$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 3600; <======= THIS LINE TO AVOID 504 GATEWAY TIMEOUT
fastcgi_param PHP_VALUE "error_log=/foo/php_errors.log";
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment