0
在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>
感謝的求助。