Как использовать AddHandler в httpd 2.4 для изменение версии php-fpm

У меня есть следующие настройки для httpd 2.2 (CentOS 6) с mod_fastcgi и 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>

Но в httpd 2.4 (CentOS 7) есть mod_proxy_fcgi , а поскольку mod_fastcgi недоступен, у меня нет FastCgiExternalServer Я пробую что-то вроде этого:

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>

Я знаю, что это неправильно (и не работает ...), но на данный момент я не могу найти (если он есть) способ продолжать использовать AddHandler application / x-httpd-phpXX .php в .htaccess для изменения версии с CentOS7 / Apache 2.4. Я знаю, что могу использовать:

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

, но я ищу способ сохранить мой .htaccess таким же.

2
задан 12 January 2018 в 17:54
1 ответ

Немного поискав, я обнаружил, что можно использовать директиву Define:

Я добавил в fcgi.conf (включенный в httpd.conf) следующее:

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

И после этого использовал определенный "php70" для AddHandler в .htaccess :

AddHandler ${php70} .php

Это самое близкое, что мне удалось найти. Надеюсь, это кому-то поможет.

2
ответ дан 3 December 2019 в 11:26

Теги

Похожие вопросы