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.php
se reescribe antes de que comience la instalación del perfil.
¿Hay alguna forma de evitar la limpieza settings.php
mediante 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.php
A menudo, durante los proyectos de equipo, tenemos
settings.php
credenciales locales con db, etc. y unasettings.common.php
configuración común para los entornos de instalación y despliegue.Puede agregar
settings.common.php
con una línea de inclusión / solicitud ensettings.php
y 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