Related question:
FastCGI and Apache 500 error intermittently
The solution does not work for me.
O problema:
Eu tenho um aplicativo do Laravel 5.1 (estava em produção em outros servidores sem problemas) rodando em um servidor Ubuntu 14.04 com Apache 2.4.7 e PHP até < strong> PHP-FPM .
Tudo funciona bem, desde que um determinado arquivo não seja invocado no aplicativo:
$compiledPath = __DIR__.'/cache/compiled.php';
if (file_exists($compiledPath)) {
require $compiledPath; // this causes a "500 Internal Server Error"
}
É um arquivo específico do Laravel criado automaticamente pelo próprio framework para acelerar um pouco as coisas (por isso não é um bug no meu código), ele realmente existe e eu tenho permissões de acesso total. Tem cerca de 600kB de tamanho. Quando eu removê-lo, tudo funciona bem. Mas quando eu digo ao Laravel para criá-lo novamente e depois clicar em qualquer rota do aplicativo, recebo um "500 Internal Server Error" com as seguintes entradas de log:
[fastcgi:error] [pid 14334] (104)Connection reset by peer: [client
xxx.xxx.xxx.xxx:41395] FastCGI: comm with server
"/var/www/clients/client1/web1/cgi-bin/php5-fcgi-yyy.yyy.yyy.yyy-80-domain.com"
aborted: read failed
[fastcgi:error] [pid 14334] [client xxx.xxx.xxx.xxx:41395] FastCGI:
incomplete headers (0 bytes) received from server
"/var/www/clients/client1/web1/cgi-bin/php5-fcgi-yyy.yyy.yyy.yyy-80-domain.com"
[fastcgi:error] [pid 14334] (104)Connection reset by peer: [client
xxx.xxx.xxx.xxx:41395] FastCGI: comm with server
"/var/www/clients/client1/web1/cgi-bin/php5-fcgi-yyy.yyy.yyy.yyy-80-domain.com"
aborted: read failed
[fastcgi:error] [pid 14334] [client xxx.xxx.xxx.xxx:41395] FastCGI:
incomplete headers (0 bytes) received from server
"/var/www/clients/client1/web1/cgi-bin/php5-fcgi-yyy.yyy.yyy.yyy-80-domain.com"
O que eu tentei:
Eu tentei a solução na questão relacionada mencionada acima, que também representa a maioria das outras sugestões sobre esse problema que eu encontrei: Brinque com as configurações comuns do PHP-FPM para atribuir mais recursos. A resposta aceita também menciona a opção de abandonar completamente o FastCGI, mas não quero ir para lá. Então eu brinquei com os valores, mas sem sorte.
Não há carga no servidor, já que eu sou o único a usá-lo, então eu realmente duvido que seja um problema com os recursos disponíveis (é um VPS com 12GB de RAM). Poderia ter algo a ver com o tamanho do arquivo? É o único arquivo PHP desse tamanho.
Eu consegui reproduzir o problema em dois servidores diferentes com a mesma configuração. Ele não ocorreu em um servidor Ubuntu 12.04 com o Apache 2.2 com FastCGI.
Minha configuração atual:
PHP-FPM:
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 0
<IfModule mod_fastcgi.c>
...
Alias /php5-fcgi /var/www/....
FastCgiExternalServer /var/www/.... -idle-timeout 300 -socket /var/lib/php5-fpm/web1.sock -pass-header Authorization
</IfModule>
php.ini
memory_limit = 512M
output_buffering = on