Согласен с предыдущим ответом про докер. Но если хочется все-таки конфигами обойтись, то в Apache это делается достаточно просто. В nginx тоже, просто с ходу не напишу как. В общем, для Apache:
Под каждый проект делается отдельный VirtualHost с отдельным конфигом в папке /etc/apache2/sites-available. И для каждого VirtualHost`a можно прописывать изменения стандартного конфига PHP. Эти изменения будут применяться только для запросов к этому VirtualHost`у.
Вот что у меня было прописано для битрикса:
php_admin_flag short_open_tag On
php_admin_value opcache.revalidate_freq 0
php_admin_value mbstring.func_overload 2
php_admin_value mbstring.internal_encoding UTF-8
php_admin_value max_input_vars 10000
php_admin_value upload_max_filesize 5M
Для изменения версии PHP достаточно отключить модуль Apache с одной версией, а с другой - подключить:
sudo a2dismod php7.2 && sudo a2enmod php7.0