Apache-2.2
如何在 httpd 2.4 中使用 AddHandler 進行 php-fpm 版本更改
我對 httpd 2.2 (CentOS 6) 使用
mod_fastcgi
and進行了以下設置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>
我知道這是錯誤的(而且不工作……)但目前我無法找到(如果有的話)一種方法來繼續使用CentOS7/Apache 2.4 進行版本更改
AddHandler application/x-httpd-phpXX .php
。.htaccess
我知道我可以使用:<FilesMatch "\.php$"> SetHandler "proxy:unix:/var/run/php70.sock|fcgi://localhost/" </FilesMatch>
但我正在尋找一種方法來保持我的 .htaccess 不變。
經過一番搜尋,我發現可以使用“定義”指令:
我在 fcgi.conf(包含在 httpd.conf)中添加了以下內容:
Define php70 "proxy:unix:/var/run/php70.sock|fcgi://localhost"
之後使用定義的“php70”作為
AddHandler
in.htaccess
:AddHandler ${php70} .php
這是我設法找到的最接近的東西。希望它可以幫助某人。