Tworzę profil instalacyjny dla mojego obecnego projektu wewnętrznego firmy.
Podczas procesu instalacji jeden z modułów niestandardowych ulega awarii init()
, ponieważ próbuje użyć jednej zdefiniowanej zmiennej globalnej settings.php
(jest to bieżące domyślne zachowanie modułu)
Za pomocą system_form_install_settings_form_alter()
zmieniłem formularz ustawień, dodając jedno pole tekstowe do wprowadzenia przez użytkownika, a po przesłaniu wartość jest dołączana settings.php
, ale settings.php
jest przepisywana przed rozpoczęciem instalacji profilu.
Czy jest jakiś sposób, aby zapobiec czyszczeniu settings.php
przez proces instalacji?
distributions
configuration-management
Paulo Gomes
źródło
źródło
Odpowiedzi:
Łatwiejsze może być użycie
settings.common.php
Często podczas projektów zespołowych mamy lokalne
settings.php
poświadczenia db itp. Isettings.common.php
ustawienia wspólne dla środowisk instalacyjnych i wdrożeniowych.Możesz dodać
settings.common.php
z włączeniem / wymaganiem liniisettings.php
a następnie napisz do niego w razie potrzeby podczas instalacji.
źródło
Moja odpowiedź zależy od serwera używającego Apache, ale zakładam, że każdy inny serwer sieciowy może to zrobić.
W konfiguracji virtualhost możesz ustawić wszystkie zmienne dla swojego środowiska:
A w pliku settings.php:
W ten sposób możesz również ustawić dowolne inne zmienne.
Jeśli martwisz się, że tablica $ _SERVER dostanie się w niepowołane ręce, możesz odłączyć wszystkie ważne zmienne na dole ustawień. Php:
W ten sposób robimy to w moim biurze, aby przenosić witryny między naszymi środowiskami programistycznymi, scenami, a nawet produkcją.
źródło