web-dev-qa-db-fra.com

Débogage de PHP sous Ubuntu (Xdebug)

Débogueur PHP Vim: Configuration d'Apache

J'essaye d'installer Vdebug pour déboguer PHP dans Vim. Malheureusement, lorsque j'appuie sur F5, ce message apparaît après quelques secondes.

Waiting for a connection (Ctrl-C to cancel, this message will self-destruct in
20  seconds...)
No connection was made

Que devrais-je faire?

J'ai cherché à ce sujet dans Google, suivi ceci tutoriel et ceci un (et beaucoup d'autres) mais ne fonctionnait pas.

J'ai suivi Vdebug instructions .

Je ne sais pas comment y parvenir:

Edit your Apache configure file

In your VirtualHost section, set debugger port same as the one in your vimrc:

php_value xdebug.remote_port **9009**

Le remote_port qui vient d'être mentionné est différent de ce que j'ai dans xdebug.ini et vimrc. S'il vous plaît, voir ci-dessous.

Pour le moment, j'ai dans /etc/php5/Apache2/conf.d/xdebug.ini:

zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.remote_enable=1         
xdebug.remote_handler=dbgp     
xdebug.remote_mode=req         
xdebug.remote_Host=127.0.0.1
xdebug.remote_port=9000

xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/media/www/xdebugdata

Et dans mon vimrc

let g:vdebug_options = {}
let g:vdebug_options["port"] = 9000

J'ai installé extension Xdebug helper Chrome aussi. Utiliser un IDE n'est pas une option: je souhaite utiliser Vim.

1
pablofiumara

Je l'ai résolu et maintenant Vdebug fonctionne.

Activer xdebug dans PHP Modifiez votre fichier php.ini et ajoutez ce qui suit dans la section "Paramètres du module":

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

zend_extension=/path/to/my/xdebug.so

[debug]

; Remote settings

xdebug.remote_autostart=off

xdebug.remote_enable=on

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_Host=localhost

xdebug.remote_port=9000

; General

xdebug.auto_trace=off

xdebug.collect_includes=on

xdebug.collect_params=off

xdebug.collect_return=off

xdebug.default_enable=on

xdebug.extended_info=1

xdebug.manual_url=http://www.php.net

xdebug.show_local_vars=0

xdebug.show_mem_delta=0

xdebug.max_nesting_level=100

;xdebug.idekey=

; Trace options

xdebug.trace_format=0

xdebug.trace_output_dir=/tmp

xdebug.trace_options=0

xdebug.trace_output_name=crc32

; Profiling

xdebug.profiler_append=0

xdebug.profiler_enable=0

xdebug.profiler_enable_trigger=0

xdebug.profiler_output_dir=/tmp

xdebug.profiler_output_name=crc32

Essaye le

Tout devrait être prêt à partir maintenant. Redémarrez Apache et exécutez phpinfo () pour voir si des informations xdebug sont disponibles. Si ce n'est pas le cas, alors Apache error_log + google sont vos amis.

Sinon, vous êtes prêt à exécuter le débogueur dans vim.

Ouvrez un script PHP dans VIM auquel vous pouvez accéder à partir de votre hôte local. Ouvrez le même script PHP dans votre navigateur Web. Ajoutez F5. Vous devriez voir au bas de VIM comme "attendre une nouvelle connexion sur le port 9000 pendant 10 secondes ..." Dans les 10 prochaines secondes, actualisez la page du navigateur avec le ?XDEBUG_SESSION_START=1 de la page. fin de l'URL. Retournez à VIM et vous êtes dans le débogueur dans toute sa splendeur. N'oubliez pas: pour basculer d'une fenêtre à l'autre dans VIM, appuyez sur CTRL-w-w.

La source s'applique à Ubuntu bien qu'elle fasse référence à une autre distribution Linux -

J'espère que cela t'aides.

1
pablofiumara