如果在htacess文件中出现错误,Apache php fpm默认配置

在Apache服务器中,我有几个安装在FPM模式下的PHP版本。所有的正常工作与此CONF:如果在htacess文件中出现错误,Apache php fpm默认配置

<Directory /var/www> 

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All

Require all granted

SetHandler php7

</Directory>

<IfModule mod_fastcgi.c>

#PHP 5

Action php5 /php5

Alias /php5 /usr/lib/cgi-bin/php5

FastCgiExternalServer /usr/lib/cgi-bin/php5 -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization

#PHP 7

Action php7 /php7

Alias /php7 /usr/lib/cgi-bin/php7

FastCgiExternalServer /usr/lib/cgi-bin/php7 -socket /var/run/php/php7.2-fpm.sock -pass-header Authorization

</IfModule>

,当我在.htaccess文件中使用SetHandler,它的作品太:

SetHandler php5 

但是,如果用户做出的.htaccess一些错误,比如这里:

SetHandler php5.6 

浏览器返回的PHP代码(安全破裂时):

<?php phpinfo(); ?> 

如何正确管理apache.conf的安全性,以及 如果用户在htaccess文件中发生错误,只加载PHP默认版本?

我尝试这个配置,但默认情况下只做PHP7版本。 在这里,用户无法改变的.htaccess文件什么:

<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 

SetHandler php7

</FilesMatch>

感谢的求助。

回答:

现在我在默认的PHP配置中找到SetEnv设置的解决方案。 需要的阿帕奇2.4 MOD:CGI代理和宏

a2enmod proxy_fcgi 

a2enmod macro

工作Ubuntu服务器配置16.04(前phpfpm.conf文件。):

SetEnv PHP_VER 5 

<IfModule proxy_fcgi_module>

ProxyErrorOverride on

<FilesMatch "\.ph(p[2-6]?|tml)$">

<Macro PHPver $ver $cgipath>

<If "env('PHP_VER') == '$ver'">

SetHandler '$cgipath'

</If>

</Macro>

#PHP VERSIONS WITH SOCKET OR HOST :

Use PHPver 7 'proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost'

Use PHPver 5 'proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost'

Use PHPver 5.4 'proxy:fcgi://localhost:9054'

Use PHPver 5.5 'proxy:fcgi://localhost:9055'

Use PHPver 5.6 'proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost'

Use PHPver 7.0 'proxy:unix:/var/run/php/php7.0-fpm.sock|fcgi://localhost'

Use PHPver 7.1 'proxy:unix:/var/run/php/php7.1-fpm.sock|fcgi://localhost'

Use PHPver 7.2 'proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost'

#ELSE IF (default version) :

SetHandler 'proxy:fcgi://localhost:9054'

</FilesMatch>

</IfModule>

现在我们可以正确地拨打.htaccess文件中的PHP版本,通过:

SetEnv PHP_VER 7.0 

以上是 如果在htacess文件中出现错误,Apache php fpm默认配置 的全部内容, 来源链接: utcz.com/qa/263082.html

回到顶部