У меня есть Сервер 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.
на самом деле я нашел рабочий солитон w/o потребностью в .htaccess. Проверьте на то, Как Установить Несколько Версия PHP с Apache на Ubuntu 18.04 и 16.04 - https://tecadmin.net/install-multiple-php-version-apache-ubuntu/
Благодаря Rahul Kumar.
Вы не можете сделать этого с mod_php, он может только загрузить одну версию за один раз.
Можно выполнить несколько экземпляров FPM на различных версиях или использовать PHP через FCGI (практические руководства для каждого перебрасываются в сети), но Вы потеряете mod_php интеграцию (как php_flag и php_value в конфигурациях), что можно потребовать.
Можно смешать и соответствовать, также - поэтому имейте одну версию в mod_php и других в FCGI или FPM; я ранее имел 'известную хорошую' версию в mod_php при тестировании под FCGI, затем обновил mod_php версию, когда я готов.
С другой стороны, Вы могли выполнить две установки Apache с другим mod_php в каждом, но это могло бы стать более грязным (и они не могут совместно использовать сокет).
Современный способ сделать это состоит в том, чтобы использовать VM или контейнер для Вашего тестирования.