Apache Sethandler не работает с несколькими PHP версии

С понедельника 15 февраля 2021 года (потому что я обновляю каждый понедельник), обновление сломало мои настройки Apache и PHP. У меня был PHP 8,0 и PHP 7,4 одновременно в течение нескольких месяцев.

PHP по умолчанию 8.0, а некоторые старые сайты нуждаются в 7,4. Я использую это на этих старых PHP Configs:

<VirtualHost *:443>
    ...
        #Force use php 7.4 because osticket does not support PHP 8.0
        <FilesMatch "\.php$"> # Apache 2.4.10+ can proxy to unix socket
            SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
        </FilesMatch>
    ...
</VirtualHost>

, как я уже сказал, он работал нормально в течение нескольких месяцев. Теперь, поскольку некоторое обновление, он не может соответствовать и использовать PHP 8.0 для всех сайтов.

Есть ли изменение синтаксиса?

Примечание. Оба службы PHP 8.0 и 7.4 работают просто нормально.

Примечание 2: IM с использованием PPA: ondrej / apache2 и ppa: ondrej / php

1
задан 17 February 2021 в 15:31

1 ответ

Это, кажется, решает проблему

<FilesMatch \".+\.ph(ar|p|tml)$\"> # Apache 2.4.10+ can proxy to unix socket
   <If \"-f %{REQUEST_FILENAME}\">
      SetHandler \"proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost\"
   </If>
</FilesMatch>
0
ответ дан 18 March 2021 в 23:33

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

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