Pergunta

Eu estou jogando com aplicação de um PHP weblog usando um serviço de hospedagem compartilhada, como parte do meu processo de aprendizado PHP. O prestador de serviços tem um ambiente LAMP típica com acesso ssh remoto.

Vim tem sido a minha melhor amiga em explorar o código PHP. No entanto, descobri que, por vezes, difícil de traçar coisas no código em caso de erro. Por exemplo, às vezes eu visitar uma página e eu tenho uma resposta em branco sem mensagens de erro qualquer. Como devo ir sobre depuração isso? Todas as ferramentas que serão úteis?

Minha experiência tem sido principalmente em C / C ++, Perl e alguma programação CGI. Então PHP é uma experiência muito refrescante comigo: -)

No caso importa, o aplicativo eu estou jogando com é Lyceum , e eu não tem muita escolha no próprio ambiente LAMP.

EDIT: ferramentas de software livre preferido: -)

Foi útil?

Solução

Eu assumo o seu provedor de hospedagem configurou sua instalação PHP com display_errors desligado, o que é uma coisa boa. É por isso que você está vendo as páginas em branco. Então, a solução mais prática neste momento seria ter um arquivo .htaccess que o transforma em:

php_flag display_errors on

Você também precisaria error_reporting para um valor apropriado:

php_flag error_reporting "E_ALL | E_STRICT"

De qualquer forma, lembre-se de desligar isso antes de deixar os usuários acessarem seu site.

Para antecedência depuração eu recomendo Xdebug instalado no servidor com Eclipse PDT ou o NetBeans IDE com suporte PHP como seu editor. Ambos são bons clientes para depuração, mas eu realmente duvido que qualquer provedor iria instalar Xdebug em seus servidores ao vivo. Então, você está praticamente deixou com funções de log, se você não tem um ambiente de desenvolvimento.

Outras dicas

Obter acesso ao seu próprio ambiente de desenvolvimento local (via XAMPP, por exemplo) que permitem que você instale XDebug.

PHPEd iria deixá-lo depurá-lo, mas também do Eclipse PDT Ambiente.

Erro de rastreamento e registro via editar arquivo de configuração ini do PHP é uma boa maneira bem, especialmente se você pode gerenciá-lo para registrar informações. Além disso, considere adicionar instruções de rastreamento e usando FirePHP, por exemplo.

Pessoalmente, eu recomendaria jEdit ao invés de vim. O plugin SFTP permite editar (bem, carregar e salvar) os documentos PHP diretamente no servidor eo plugin PHPParser lhe dará algum reconhecimento de erro.

Além disso, se você receber uma página em branco com nenhuma mensagem de erro, as chances são de altíssima que essas mensagens são apenas escondida de vocês. Certifique-se que o relatório de erros está habilitado, quer no seu configuração ou em seu código como este:

// Report all PHP errors
error_reporting(E_ALL);

Se o relatório de erros está habilitado e você ainda não vê qualquer mensagem, seja activar o registo ou ativar saída para o browser.

Se você receber uma página em branco, é provavelmente devido a um erro fatal, com display_errors desligado. Por padrão, o PHP irá registrar erros de erro de log Apaches, mas você também pode configurá-lo para registrar erros em um log separado.

Para a depuração, você também pode querer olhar para Xdebug. Esta extensão pode fazer um monte de coisas, incluindo a depuração interativa. Você vai precisar de um cliente para usar o depurador, mas não é um plugin para vim que faz isso.

Tente NuSphere PhpED

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