PHP-FPM com Apache 2.2.22 e Ubuntu 12.10 - 500 Error, ou retorna texto (não executando)

1

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.

    
por waffl 06.02.2014 / 19:27

3 respostas

1

Tente usar os parâmetros -idle-timeout e -appConnTimeout no FastCgiExternalServer no httpd.conf. Veja isto para a sintaxe

    
por 21.04.2014 / 13:26
0

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.

    
por 18.12.2014 / 20:37
0

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!

    
por 06.01.2016 / 17:59