a depurar o php no mac?
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!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.
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.
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.
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!
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.
Há uma maneira de o fazer usando:
- tempestade de Phpname
Homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Php + Xdebug
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)