a depurar o php no mac?

Estava a pensar qual seria a melhor maneira de depurar o PHP na minha máquina local. Eu uso MAMP no mac os 10, 5

Obrigado., Patrick

Author: patrick, 2009-11-07

8 answers

Usar xdebug é um bom começo. Descarregue o pacote e siga as instruções no Arquivo INSTALL. É bastante fácil. Uma vez feito isto, adicione as seguintes linhas ao seu ficheiro php.ini:

;;[xdebug]
zend_extension="/Path/to/your/module/xdebug.so"
xdebug.file_link_format="txmt://open?url=file://%f&line=%1"
xdebug.var_display_max_depth = 20
Não te esqueças de reiniciar o Apache depois disto.

A maior parte da depuração pode ser feita usando um simples die(var_dump($some_variable)). Não é muito sofisticado, mas com o xdebug instalado, a saída de um vardump parece muito bom em um navegador. Na maioria dos casos, isto é suficiente.

Se for necessário mais controle, você pode adicionar uma declaração xdebug_break(); no seu código e adicionar as seguintes linhas ao seu php.ini:

xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
Mais uma vez, não se esqueça de reiniciar o Apache.

Agora, se usar uma ferramenta como o MacGDBp (ou o Eclipse+PDT se for necessário), terá um depurador clássico. Você pode pular através de seu programa.

Diverte-te!
 3
Author: Pierre Spring, 2009-11-07 23:42:59

Sempre achei que a melhor forma de depuração do PHP em qualquer plataforma é usando O FirePHP, que pode enviar mensagens de depuração directamente para a janela de depuração do Firefox.

 1
Author: tom, 2009-11-07 17:06:04

Descobri que correr {[[0]} é óptimo a apanhar erros de sintaxe antes de tentar recarregar a Página no meu navegador (e assim evitar a abominável Tela branca da Morte ). Além disso, eu apenas apontar o meu navegador para o meu webserver local e tentar acessar as páginas.

Você pode fazer algumas coisas nifty em seu próprio código (como usar debug_ Backtrace () ), mas isso (obviamente) requer que você mesmo coloque no código.

 1
Author: Dave DeLong, 2009-11-07 17:06:19

Também uso eclipse+pdt e xdebug. Se você é novo em experimentar depuradores, você pode tentar o zend studio que vai configurar as coisas muito facilmente.

 0
Author: Brendon-Van-Heyzen, 2009-11-07 17:57:12

O Zend Studio é de longe a melhor ferramenta para criar e depurar o código PHP. Eu corro a edição comunitária do servidor Zend na minha caixa Dev Linux e localmente numa máquina virtual no meu MacBook Pro.

Dê uma olhada no site Zend para obter detalhes-ele cortou meu desenvolvimento de app em dois terços!

 0
Author: Alan, 2013-02-20 15:06:28

Graças a um monte de links como este e outros, aqui está uma solução compilada que usa com sucesso o Apache2 nativo do OSX e o XDebug, juntamente com o MacGDBp e uma extensão Safari chamada Xdebug Helper.

 0
Author: perso58jm, 2013-02-25 04:17:32
Podes fazê-lo mesmo sem mim.

Há uma maneira de o fazer usando:

1) Instalar o php e o debug

brew install php70
brew install php70-xdebug
  • Em PhpStorm-check Preferences = > Language and Frameworks = > PHP Nível de linguagem Php: 7 Interpretador: PHP 7. 0. 8 + XDebug (ou escolher de [...])

  • Verificar a configuração de depuração: Preferences = > Language and Frameworks = > PHP => Debug => xdebug section Todas as opções deverão ser assinaladas e definir o porto de depuração para: 9001

2) Execute o servidor na pasta da sua aplicação:

php -S localhost:8080

3) Adicionar localhost: 8080 às preferências do PhpStorm = > linguagem e Frameworks = > PHP => servidores: Nome: Localhost: 8080 Máquina: localhost Porto: 8080 Depurador: Xdebug

4) Actualizar o php.ini: Php = > Interpreter = > [ ... ] = > Configuração Ficheiro-Abrir no Editor Adicione esta secção: (verifique a localização do zend_ extention através do cli)

[Xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9001 (same as in Debug preferences)

5) Adicionar Configuração De Depuração: Executar = > Editar Configuração = > Adicionar - aplicação Web Php

  • escolha Localhost: 8080 server

6) Carregue em Iniciar a escuta das ligações de depuração do Php 7) estabelecer pontos de paragem 7) Carregue em Depurar (erro verde)

 0
Author: Donskikh Andrei, 2016-07-11 11:17:12