Pergunta

Eu já tentei por horas recebendo xdebug (2.0.5 compilado a partir de fonte) para trabalhar no meu MacBook OS X com o NetBeans 6.8. Eu tenho instalado MAMP e estou executando um programa pequeno PHP (5.2) teste com ele, não há problema. Mas quando eu tentar depurar eu recebo este texto em Netbeans: "Aguardando conexão (netbeans-xdebug)" e nada mais acontece. Netbeans está configurado para Debugger Porto 9000. No Zend Optimization em MAMP.

Eu segui este: http: //netbeans.org/kb/docs/php/configure-php-environment-mac-os.html#installEnableXdebug e http://www.xdebug.org/docs/install e http://forums.netbeans.org/topic1513-0-asc-0 .html etc

Aqui está parte do meu php.ini

[XDebug]

;zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"

;[Zend]

;zend_optimizer.optimization_level=15

;zend_extension_manager.optimizer=/Applications/MAMP/bin/php5/zend/lib/Optimizer-3.3.9

;zend_optimizer.version=3.3.9

; Xdebug config for Mac OS X and NetBeans IDE

zend_extension=/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so

xdebug.remote_enable=1

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_host=localhost

xdebug.remote_port=9000

xdebug.idekey="netbeans-xdebug"

Eu li um monte de instruções de instalação etc e phpinfo mostram que xdebug está instalado OK como V.5.2.11 (visto através de "Start Página Aberta" em MAMP). No entanto, quando eu tento em -m PHP terminal de eu não ver xdebug listados. Finalmente descobri que PHP.INI é lido a partir de / etc então copiado o MAMP php.ini para php.ini há, portanto, adicionou-se o xdebug.se, localhost, porta 9000 etc informação lá. Depois disso xdebug está listado quando eu faço PHP -m também, mas eu ainda obter o problema NetBeans. Estranho o suficiente php mostra -i versão 5.2.10, 5.2.11 não como acima!

Eu também tentei isso, adicionando o "netbeans-xdebug" para idekey: por que xdebug não estabelecer conexão com o NetBeans?

Como é que php_info () parecia encontrar meu arquivo PHP.INI sob ../ MAMP / ... e não ao fazer PMP -m quando é lida de / etc?

Como posso obter PHP para encontrar sempre o arquivo INI sob MAMP, então eu não tem que usar dois arquivos php.ini para et phpinfo () e PHP -m para o trabalho?

Como posso resolver o problema NetBeans agora que xdebug parece estar instalado corretamente, mas ainda não está funcionando no NetBeans? Algo com essa necessidade de dupla php.ini? Eu poderia ter compilado xdebug errado, como saber? Algo com versões do PHP em xdebug / php? Como verificar?

Aqui está uma parte do resultado do php -i:

xdebug

xdebug support => enabled
Version => 2.0.4

Supported protocols => Revision
DBGp - Common DeBuGger Protocol => $Revision: 1.125.2.6 $
GDB - GNU Debugger protocol => $Revision: 1.87 $
PHP3 - PHP 3 Debugger protocol => $Revision: 1.22 $

Directive => Local Value => Master Value
xdebug.auto_trace => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
xdebug.dump.FILES => no value => no value
xdebug.dump.GET => no value => no value
xdebug.dump.POST => no value => no value
xdebug.dump.REQUEST => no value => no value
xdebug.dump.SERVER => no value => no value
xdebug.dump.SESSION => no value => no value
xdebug.dump_globals => On => On
xdebug.dump_once => On => On
xdebug.dump_undefined => Off => Off
xdebug.extended_info => On => On
xdebug.idekey => pettermagnusson => netbeans-xdebug
xdebug.manual_url => http://www.php.net => http://www.php.net
xdebug.max_nesting_level => 100 => 100
xdebug.profiler_aggregate => Off => Off
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => Off => Off
xdebug.profiler_enable_trigger => Off => Off
xdebug.profiler_output_dir => /tmp => /tmp
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p
xdebug.remote_autostart => Off => Off
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => 127.0.0.1 => 127.0.0.1
xdebug.remote_log => /tmp/xdebug.log => /tmp/xdebug.log
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
xdebug.show_exception_trace => Off => Off
xdebug.show_local_vars => Off => Off
xdebug.show_mem_delta => Off => Off
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => /tmp => /tmp
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3

Rgds PM

Foi útil?

Solução 2

Eu baixei o xDebug.so errado de Komodo e de alguma forma, também a minha própria construção não era bom. Baixado novamente e agora é OK. Uau, isso levou-me muitas horas, e ninguém poderia ajudar também! / PM

Outras dicas

How come PHP_INFO() seemed to find my PHP.INI file under ../MAMP/... and not when doing PMP -m when it is read from /etc ?

phpinfo() usa binário PHP do MAMP, enquanto CLI usa o seu um OS.

How can I get PHP to always find the INI file under MAMP so I dont have to use two PHP.INI files to et PHPINFO() and PHP -m to work?

Deixe o OS PHP intocado, assim você não tem problema modernização e ajustar o bubled com MAMP como você precisa.

How can I resolve the NetBeans problem now that xDebug seems to be installed correctly but still not working in NetBeans? Something with this need for dual php.ini? Could I have compiled xdebug wrong, how to know? Something with php versions in xdebug / php? How to check?

Faça o download do mais recente versão do MAMP que inclui extensão xdebug compilado e adicione à sua php.ini.

zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_host=localhost
xdebug.remote_port=9001
xdebug.remote_enable=1
xdebug.idekey="netbeans-xdebug"
xdebug.remote_log="/Applications/MAMP/logs/xdebug.log"

I usar a porta 9001 como OSX não parece como o padrão.

Eu verifiquei e re-verifiquei todas as configurações e instruções de instalação e ainda parecia que XDebug não funcionou. No final, eu reiniciei meu Mac e magicamente começou a trabalhar. Talvez isto ajude alguém na mesma posição que eu.

Este é o trabalho para me

brew install php55-xdebug

  • pegar o caminho ini, em seguida, cole o seguinte para o último
    php -i | grep 'Configuration File'
    vim /usr/local/etc/php/5.5/php.ini

  • Adicione o seguinte

    zend_extension = "/ usr / lib / php / extensões /-no-depuração não-ZTS-20100525 / xdebug.so"

    xdebug.default_enable = 1 | xdebug.remote_enable = 1 | xdebug.remote_handler = dbgp
    xdebug.remote_host = localhost
    xdebug.remote_port = 9001
    xdebug.remote_autostart = 1

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top