Estoy creando un perfil de instalación para el proyecto interno de mi empresa actual.
Durante el proceso de instalación, uno de los módulos personalizados se bloquea init(), ya que intenta usar una variable global definida en settings.php(ese es el comportamiento predeterminado actual del módulo)
Utilizando system_form_install_settings_form_alter(), cambié el formulario de configuración, agregando un campo de texto de entrada para la entrada del usuario, y al enviar el valor se agrega settings.php, pero settings.phpse reescribe antes de que comience la instalación del perfil.
¿Hay alguna forma de evitar la limpieza settings.phpmediante el proceso de instalación?
distributions
configuration-management
Paulo Gomes
fuente
fuente

Respuestas:
Puede que le resulte más fácil usar un
settings.common.phpA menudo, durante los proyectos de equipo, tenemos
settings.phpcredenciales locales con db, etc. y unasettings.common.phpconfiguración común para los entornos de instalación y despliegue.Puede agregar
settings.common.phpcon una línea de inclusión / solicitud ensettings.phpy luego escríbelo según sea necesario durante la instalación.
fuente
Mi respuesta depende del servidor que usa Apache, pero supongo que cualquiera de los otros servidores web también puede lograr esto.
En su configuración de virtualhost, puede configurar todas las variables para su entorno:
Y en su archivo settings.php:
También puede establecer cualquier otra variable de esta manera.
Si le preocupa que la matriz $ _SERVER caiga en las manos equivocadas, puede desarmar todas las variables importantes en la parte inferior de settings.php:
Así es como lo hacemos en mi oficina para mover sitios entre nuestros entornos de desarrollo, montaje e incluso producción
fuente