выделенная версия PHP на виртуальный хост

У меня есть Сервер LTS Ubuntu 18.04 с PHP7.2 и установленным PHP5.6. Два Виртуальных Хоста до сих пор настроены одинаково:

<VirtualHost *:80>
    # domain: php56.test
    # public: /var/www/php56/   

    ServerName php56.test
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/php56

    <Directory /var/www/php56/>
        Require all granted
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Теперь я хочу выделить PHP5.6 php56.test и PHP7.2 к php72.test.

Я играл вокруг .conf файлов согласно нескольким статьям о сети, но не мог успешно выполниться. Или я мог быть выполнен PHP5.6 или PHP7.2, но не оба за один раз как требуется для специализированных сайтов. Значение по умолчанию .conf, как и сайт, связанный одинаково выше php56.test.conf.

3
задан 29 September 2018 в 21:37

2 ответа

на самом деле я нашел рабочий солитон w/o потребностью в .htaccess. Проверьте на то, Как Установить Несколько Версия PHP с Apache на Ubuntu 18.04 и 16.04 - https://tecadmin.net/install-multiple-php-version-apache-ubuntu/

Благодаря Rahul Kumar.

1
ответ дан 1 December 2019 в 16:17

Вы не можете сделать этого с mod_php, он может только загрузить одну версию за один раз.

Можно выполнить несколько экземпляров FPM на различных версиях или использовать PHP через FCGI (практические руководства для каждого перебрасываются в сети), но Вы потеряете mod_php интеграцию (как php_flag и php_value в конфигурациях), что можно потребовать.

Можно смешать и соответствовать, также - поэтому имейте одну версию в mod_php и других в FCGI или FPM; я ранее имел 'известную хорошую' версию в mod_php при тестировании под FCGI, затем обновил mod_php версию, когда я готов.

С другой стороны, Вы могли выполнить две установки Apache с другим mod_php в каждом, но это могло бы стать более грязным (и они не могут совместно использовать сокет).

Современный способ сделать это состоит в том, чтобы использовать VM или контейнер для Вашего тестирования.

2
ответ дан 1 December 2019 в 16:17

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

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