Depuração remota de scripts de linha de comando PHP com Zend?
-
09-06-2019 - |
Pergunta
estou a usar Estúdio Zend para fazer depuração remota dos meus scripts php em um servidor de desenvolvimento.Funciona muito bem para código da web, mas posso fazê-lo funcionar com scripts de linha de comando?
Tenho vários aplicativos auxiliares para executar meu aplicativo.Seria muito útil iniciar o depurador remoto por meio da linha de comando em vez de um navegador da web para que eu possa testá-los.
Presumo que seja possível, pois acho que o Zend está usando o xdebug para conversar com o Eclipse.Aparentemente, ele adiciona alguns parâmetros à solicitação para ativar o código Zend em uma solicitação.Acho que precisaria aproveitar isso?
ATUALIZAR
Acabei usando o xdebug com protoeditor sobre X para fazer minha depuração.
Solução
eu consegui depuração CLI remota funcionando no Eclipse, usando xdebug, embora eu não tenha tentado com o depurador zend.Eu diria que isso deveria funcionar da mesma forma com o ZSfE, se esse for o "Zend Studio" que você está usando.
Outras dicas
Como se trata mais de suporte ao produto, sua melhor aposta provavelmente é enviar um e-mail ao pessoal de suporte.Compramos o Zend Studio no meu último trabalho e eles sempre conseguiram nos ajudar em questão de horas.
Sinta-se à vontade para postar a resposta, tenho certeza de que há mais pessoas procurando por ela.:)
Há uma opção para depurar um script php, run-> run as-> script php
Eu acredito que também deve estar na raiz do seu projeto.Apenas para esclarecimento, o Zend Studio usa seu próprio depurador, enquanto no projeto Eclipse PDT você tem a opção de Xdebug ou depurador do Zend.
Ainda não tentei, mas você pode definir a variável de ambiente QUERY_STRING para aquela que ativa o depurador Zend.
Por Este artigo.
export QUERY_STRING=start_debug=1&debug_host=<host name or IP of the local machine>&debug_port=<the port that is configured in your ZDE settings>&debug_stop=1
E então execute o script CLI.
A depuração remota de linha de comando é possível, acabei de tentar.No meu caso usei Zend Studio + Zend Debugger.
Este artigo oficial aqui pelo Zend as pessoas vão te ajudar, foi o que eu usei.Ele explica todos os parâmetros que devem entrar no comando shell.
Certifique-se de que você tem o php.ini configurado corretamente no servidor remoto e que permite seu endereço IP e funcionará.
Além disso, você não precisa exportar o QUERY_STRING
variável.
Você pode simplesmente fazer:
QUERY_STRING="start_debug=1&debug_host=[127.0.0.1]&no_remote=0&debug_port=10137&debug_stop=0" /path/to/php/binary /your/php/script.php
Executá-lo em um shell SSH iluminará seu Zend Studio.Doce!