Tente usar os parâmetros -idle-timeout e -appConnTimeout no FastCgiExternalServer no httpd.conf. Veja isto para a sintaxe
Estou seguindo este tutorial para tentar para instalar o PHP-FPM na minha pilha LAMP.
Minha configuração em /etc/apache2/sites-available/default
contém (conforme o guia)
<IfModule mod_fastcgi.c>
Alias /php5.fastcgi /var/www/fastcgi/php5.fastcgi
AddHandler php-script .php
FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php-fpm.sock
Action php-script /php5.fastcgi virtual
# This part is not necessary to get it to work, but it stops anything else from being
# accessed from it by mistake or maliciously.
<Directory "/var/www/fastcgi">
Order allow,deny
<Files "php5.fastcgi">
Order deny,allow
</Files>
</Directory>
</IfModule>
O que resultou em 500 erros. Eu verifiquei o log do Apache e estou vendo:
(111)Connection refused: FastCGI: failed to connect to server "/usr/lib/cgi-bin/php5-fcgi": connect() failed FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php-fpm.sock
FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi"
Eu verifiquei e percebi que meu /etc/php5/fpm/pool.d/www.conf
estava escutando em um local de soquete diferente (do tutorial), então atualizei a configuração do apache para:
FastCGIExternalServer /var/www/fastcgi/php5.fastcgi -socket /var/run/php5-fpm.sock
Mas agora visitar um script php5 mostra apenas texto simples.
Eu não tenho certeza de onde estou indo errado, alguém pode me apontar na direção certa para solucionar isso? Infelizmente tudo que eu encontrei é muito orientado para o NGINX (ou o usuário acabou de mudar para o NGINX completamente!) Eu estou um pouco amarrado ao Apache no momento, pois estou confiando no .htaccess para wordpress e permalink reescreve, etc.
Endless obrigado antecipadamente.
Tente usar os parâmetros -idle-timeout e -appConnTimeout no FastCgiExternalServer no httpd.conf. Veja isto para a sintaxe
Caso isso ajude ... eu tive 500 Erros Internos sistemáticos e tive que me esforçar muito para fazer php-fpm funcionar com Apache e IPSCONFIG em um Ubuntu 14.04 LTS Trusty , construído com tutorial Falko
Esta é a minha configuração PHP-FPM:
/etc/php5/fpm/pool.d/www.conf
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
listen = /var/run/php5-fpm.sock
pm = dynamic
pm.max_children = 10
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
pm.max_requests = 2000
pm.status_path = /fpm_status?full
chdir = /
/etc/php5/fpm/php-fpm.conf
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
include=/etc/php5/fpm/pool.d/*.conf
/etc/apache2/conf-enabled/php-fpm.conf
<IfModule mod_fastcgi.c>
Alias /php-fcgi /usr/lib/cgi-bin/php5
AddHandler php .php
Action php /php-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
AllowOverride All
Options +ExecCGI +FollowSymLinks
Require all granted
</Directory>
</IfModule>
Eu tive que chmod 666 /var/run/php5-fpm.sock
Por último, mas isso é específico do Ispconfig , quando eu configuro um site com PHP-FPM no IspConfig, ele grava as seguintes linhas em seu vhost habilitado para sites:
Alias /php5-fcgi ALIAS_PATH&NAME
FastCgiExternalServer ALIAS_PATH&NAME -idle-timeout 300 -host 127.0.0.1:9016 -pass-header Authorization</code>
Eu tenho que alterar -host 127.0.0.1:9016
para -socket /var/run/php5-fpm.sock
, então funciona.
Só não sei de onde o IspConfig usa as informações erradas.
Eu resolvi esse problema, no Ispconfig com o Ubuntu 14.XX, Apache e PHP-FPM usando apenas isto:
chmod 666 /var/lib/php5-fpm/web104.sock
Onde web104 é a instância para a hospedagem 'web104'.
Espero que isso ajude!
Tags php apache-2.2 php-fpm ubuntu