Как RemoveHandler работает под PHP5 и PHP7.2

У меня есть 2 линодных сервера, на каждом из которых размещен сайт. Сайт A работает под Ubuntu 14.04/Apache2/Mysql/PHP 5.59, Сайт B работает под Ubuntu 16.04/Apache2/Mysql/PHP 7.0, и я использую Webmin/Virtualmin для управления ими. Недавно я попытался установить PHP7.2 на сайт B, были некоторые проблемы во время установки, но я думаю, что в конце концов их преодолел, только чтобы узнать, когда я открываю свой сайт, index.php был загружен вместо анализа Apache. Через некоторое копание я обнаружил, что конфигурация apache сайта B похожа

AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5.6
AddHandler fcgid-script .php7.0
AddHandler fcgid-script .php7.2
FCGIWrapper /home/tv/fcgi-bin/php5.6.fcgi .php5.6
FCGIWrapper /home/tv/fcgi-bin/php7.0.fcgi .php7.0
FCGIWrapper /home/tv/fcgi-bin/php7.2.fcgi .php7.2
FCGIWrapper /home/tv/fcgi-bin/php7.2.fcgi .php
</Directory>
<Directory /home/tv/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.peaceevertvimg.org
RewriteRule ^(.*) https://peaceevertvimg.org:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.peaceevertvimg.org
RewriteRule ^(.*) https://peaceevertvimg.org:10000/ [R]
RemoveHandler .php
RemoveHandler .php5.6
RemoveHandler .php7.0
RemoveHandler .php7.2
php_admin_value engine Off

Я должен был закомментировать

#RemoveHandler .php
#php_admin_value engine 

чтобы сайт B работал. Мне было интересно, почему virtualmin автоматически добавляет эти директивы, которые приводят к сбоям в работе сайта, в то время как я понял, что на самом деле эти директивы существуют и для сайта A. Однако сайт A работает отлично. Вот соответствующие директивы сайта А

AddType application/x-httpd-php .php
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/w/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/w/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/w/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.weiwei-tv.com
RewriteRule ^(.*) https://weiwei-tv.com:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.weiwei-tv.com
RewriteRule ^(.*) https://weiwei-tv.com:1911/ [R]
RemoveHandler .php
RemoveHandler .php5
php_admin_value engine Off

На обоих сайтах PHP работает в режиме FastCGI. Так почему же "RemoveHandler .php" вызывает проблему на сайте B(PHP7.2), а на сайте A(PHP5.59) - нет?

0 ответов

Другие вопросы по тегам