OVH Community, your new community space.

Como saber a causa do erro "500 Internal Server Error"


XoK
29-08-10, 15:39
Nao post no email anterior porque ja era bastante tarde.

IMHO:

Na teoria, o problema surge através do Timeout do FastCGI (que instancia multiplos threads para executar de forma mais rapida os varios processos concorrentes ao nao ter que instanciar de cada vez os threads.. adiante..).

Portanto, mesmo com a instrução set_time_limit(0); no PHP, a execução era quebrada pelo timeout do FastCGI (variavel IPCCommTimeout) mesmo que o PHP permitisse mais tempo.

A solução passa por não utilizar o FastCGI para que se possa executar o processo em PHP "infinitamente" (até ao fiim do envio), a solução é ter o script de envio numa sub-directoria para ter um .htaccess com a instrução para não executar o FastCGI.

Pronto, um problema ja esta resolvido, agora tenho de analisar porque é o Swift Mailer está a engasgar o Apache a 100% de CPU, pois só envia um email por segundo.. LOL! Cheira-me a bugs.. Mas isso ja e outra historia..

XoK
29-08-10, 6:58
Já resolvi o problema.. bem dificil de resolver porque nao estava a conseguir ver a mensagem de erro!

[Sun Aug 29 05:58:10 2010] [warn] mod_fcgid: read data timeout in 40 seconds
[Sun Aug 29 05:58:10 2010] [warn] (110)Connection timed out: mod_fcgid: ap_pass_brigade failed in handle_request function


Envio abaixo a solução, para que mais alguem nao perca tempo com o mesmo problema..

Por defeito a execução do FastCGI está com o valor por defeito:
IPCCommTimeout 31

A solução seria aumentar o tempo de Timeout, mas como a opção irá afectar todas as directorias no Apache, optei por desactivar o FastCGI criando um .htacccess com a instrução:
AddHandler application/x-httpd-php .php

Solução muito simples, mas achar o problema.. bem dificil!

asturmas
29-08-10, 1:28
Estas a correr o PHP com suphp activado? Verifica se esta a ser gerado algum ficheiro error_log na conta

XoK
27-08-10, 22:34
Boa noite,

Estou a tentar fazer o envio de uma newsletter mas está a parar com o erro "500 Internal Server Error" quando envia cerca de 50 emails / 100 emails de forma aleatória. Está a funcionar tudo bem, só não percebo a causa do erro.

O sistema operativo é CentOS 5.x - 64 bits (servidor EG SSD), tem instalado Webmin / Virtualmin como Control Panel.

O envio está a ser feito em PHP com o Swift Mailer e testei os 3 métodos de "Transport", por SMTP, Sendmail e Mail.

Já aconteceu a alguem alguma coisa do genero ou sabem como é que se faz "debug" a uma situação deste género?

Ando a ler bastantes foruns e sites, etc., mas não estou a ver o que possa ser.. pois o erro é bastante genérico.


Cumprimentos,