Ich erstelle ein Installationsprofil für mein aktuelles unternehmensinternes Projekt.
Während des Installationsvorgangs stürzt eines der benutzerdefinierten Module ab init()
, da versucht wird, eine globale Variable zu verwenden, die für definiert ist settings.php
(dies ist das aktuelle Standardverhalten des Moduls).
Mit system_form_install_settings_form_alter()
Ich habe das Einstellungsformular geändert, indem ich ein Eingabetextfeld für die Benutzereingabe hinzugefügt habe. Beim Senden wird der Wert angehängt settings.php
, aber settings.php
vor Beginn der Profilinstallation neu geschrieben.
Gibt es eine Möglichkeit, die Bereinigung settings.php
durch den Installationsprozess zu verhindern ?
distributions
configuration-management
Paulo Gomes
quelle
quelle
Antworten:
Möglicherweise ist es einfacher, a zu verwenden
settings.common.php
Während Teamprojekten haben wir häufig lokale
settings.php
Anmeldeinformationen mit Datenbankanmeldeinformationen usw. undsettings.common.php
Einstellungen, die für die Installations- und Bereitstellungsumgebungen gelten.Sie können
settings.common.php
mit einer Include / Require-Zeile hinzufügensettings.php
und schreiben Sie dann nach Bedarf während der Installation darauf.
quelle
Meine Antwort hängt vom Server ab, der Apache verwendet, aber ich gehe davon aus, dass auch jeder andere Webserver dies erreichen kann.
In Ihrer virtualhost-Konfiguration können Sie alle Variablen für Ihre Umgebung festlegen:
Und in Ihrer settings.php-Datei:
Auf diese Weise können Sie auch andere Variablen festlegen.
Wenn Sie befürchten, dass das Array $ _SERVER in die falschen Hände gerät, können Sie alle wichtigen Variablen unten in settings.php deaktivieren:
So machen wir es in meinem Büro, um Standorte zwischen unseren Entwicklungsumgebungen, der Bereitstellung und sogar der Produktion zu verschieben.
quelle