В моей компании есть мотивация дать возможность команде кодеров разработать обновленную версию существующего продукта на одном из наших серверов разработки. Есть две конфигурации: та, которую мы используем сейчас, и новая, которую предпочтительнее устанавливать на чистую установку PHP/Apache (но на том же сервере, если это возможно). Мой вопрос: возможно ли иметь два разных набора php.ini
и httpd.conf
на одном сервере? Один будет указывать на текущий продукт, а другой — на обновленный/модернизированный продукт.
решение1
Флаг -f для apachectl позволяет запускать несколько экземпляров с разными конфигурациями, например:
apachectl -f /etc/httpd-1.conf start
apachectl -f /etc/httpd-2.conf start
Между тем, в определениях сайтов в этих файлах следующая директива
PHPINIDir /etc/php1
сообщит mod_php в настраиваемом вами экземпляре, где искать php.ini
Я также скажу вам по опыту, что вам, вероятно, не захочется делать это слишком долго.
Теперь, заставить это работать с вашими системными скриптами инициализации может быть хлопотно; IIRC FreeBSD и производные от Debian вещи делают это относительно менее болезненным, но производные от RedHat вещи так не делают. Лично я бы рекомендовал оставить ваш производственный сервер тем, что контролируют скрипты инициализации, и запустить тестовый сервер вручную с помощью apachectl и т. д.