Meu PHP-CGI começou a servir páginas em branco sem motivo aparente até reiniciar o processo.
Eu quero saber o porquê.
Infelizmente, o arquivo de configuração "produção" do PHP não possui error_log por padrão. Meu log de erros do Nginx também não exibiu erros relacionados ao PHP. Este é provavelmente um caso sem esperança, mas estou perguntando apenas por precaução.
Aqui está a minha configuração
- Nginx 0.8.2
- PHP 5.2.6-3ubuntu4.1 com Suhosin-Patch 0.9.6.2 (cli) (compilado em 23 de abril de 2009 14:37:14)
- PHP APC 3.0.19-2
- spawn-fcgi v1.6.2 (ipv6) - wrapper fastcgi da lighttpd
Alguma idéia do que pode ter causado o erro?
Atualizar
Eu acho que isolei o problema. Eu tenho usado o Monit para reiniciar o PHP automaticamente sempre que ele começou a apagar. Meus logs de erros do PHP estão em branco.
Mas eu descobri que se eu desativasse um plug-in do Wordpress chamado WP-SuperCache, meu PHP deixaria de ser redefinido a cada ~ 10 horas. Até agora, meu PHP está em execução há 3 dias seguidos. Alguém tem alguma sugestão sobre isso?
Verifique o status da resposta de suas solicitações se isso acontecer novamente (por exemplo, curl -i) e se o status não for 200, verifique suas páginas de erro (especificamente as) para o número de erro mostrado) e verifique se não estão. defina para redirecionar de uma maneira que possa causar um loop infinito.
Se o status da resposta for 200, verifique se há algum texto na resposta além dos cabeçalhos HTTP.
fonte
Esse é um problema comum, a melhor coisa que você pode fazer é reiniciar todas as noites o spawn-fcgi e observar os logs de erros. Um pequeno programa python logwatch que irá reiniciar o seu php pode ser encontrado aqui.
http://hostingfu.com/article/keeping-your-php-fastcgi-processes-alive
fonte
Não é uma resposta, mas sugestão - substitua spawn-fcgi por php-fpm , é mais personalizável.
PS. talvez você tenha uma página de erro 50x especial redirecionada no nginx.conf
UPD: hoje encontrei um problema semelhante quando o nginx + php começou a servir páginas em branco. Minha pesquisa mostrou que ele enviava uma página em branco, independentemente do php que causasse uma exceção. Pode ser que seja algum tipo de diretiva php.ini servir em branco em vez de um erro. Eu deveria examinar logs e etc ... limpe.
UPD2: Olhe para o seu php.ini, existem 2 parâmetros nele que você precisa alterar para ver os erros de php:
fonte
A cláusula "aconteceu espontaneamente da noite para o dia" parece interessante ... é possível que o seu host tenha começado a adicionar cabeçalhos de status extras a todo o tráfego? Nesse caso, você pode estar vendo este erro:
Joomla! php, FastCGI, página em branco e cabeçalho duplicado 'Status'
fonte