Como usar o AddHandler no httpd 2.4 para alterar a versão do php-fpm

1

Eu tenho a seguinte configuração para o httpd 2.2 (CentOS 6) com mod_fastcgi e php-fpm :

LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
AddHandler application/x-httpd-php71 .php
Action application/x-httpd-php71 /php71-fcgi
Alias /php71-fcgi /usr/lib/cgi-bin/php71-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php71-fcgi -socket /var/run/php71.sock -pass-header Authorization

Action application/x-httpd-php72 /php72-fcgi
Alias /php72-fcgi /usr/lib/cgi-bin/php72-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php72-fcgi -socket /var/run/php72.sock -pass-header Authorization
</IfModule>
<Directory /usr/lib/cgi-bin>
    Order allow,deny
    Allow from all
</Directory>

Mas no httpd 2.4 (CentOS 7) existe mod_proxy_fcgi e como mod_fastcgi não está disponível não tenho FastCgiExternalServer Estou tentando algo assim:

AddHandler application/x-httpd-php70 .php
Action application/x-httpd-php70 /php70-fpm virtual
Alias /php70-fpm /php70-fpm
ProxyPassMatch "/php70-fpm" "unix:/var/run/php70.sock|fcgi://localhost"

Action application/x-httpd-php72 /php72-fpm virtual
Alias /php72-fpm /usr/local/php-fpm/php72-fpm
ProxyPass "/usr/local/php-fpm/php72-fpm" 
"unix:/var/run/php72.sock|fcgi://localhost"

<Directory /usr/local/php-fpm>
    Require all granted
</Directory>

Eu sei que está errado (e não funciona ...) mas, no momento, não consigo encontrar (se houver) uma maneira de continuar usando AddHandler application/x-httpd-phpXX .php em .htaccess para alteração de versão com o CentOS7 / Apache 2.4. Eu sei que eu poderia usar:

<FilesMatch "\.php$">
    SetHandler  "proxy:unix:/var/run/php70.sock|fcgi://localhost/"
</FilesMatch>

mas estou procurando uma maneira de manter o meu .htaccess igual.

    
por plamer 12.01.2018 / 16:54

1 resposta

1

Após pesquisar um pouco, descobri que existe uma diretiva "Define" que pode ser usada:

Eu adicionei no fcgi.conf (incluído no httpd.conf) o seguinte:

Define php70 "proxy:unix:/var/run/php70.sock|fcgi://localhost"

Depois disso, usei o "php70" definido para um AddHandler em .htaccess :

AddHandler ${php70} .php

Essa é a coisa mais próxima que consegui encontrar. Espero que ajude alguém.

    
por 19.01.2018 / 08:41