Gibt es eine bewährte Methode, um Ihre wp-config.php
Datei in Ihr Versionskontroll-Repository aufzunehmen?
Ich denke darüber nach, eine neue Site mit dieser Art von Konfiguration zu erstellen (ähnlich wie bei Alex King und Mark Jaquith ):
/index.php
/local-config.php
/wp-config.php
/wp/ (core)
/wp-content/ (plugins, themes, etc.)
Wie kann ich dies tun, ohne meine Passwörter git auszusetzen, falls dieses Repository jemals öffentlich wird?
Besonders in Marks Beitrag sieht es so aus, als ob die local-config.php lokale Datenbankdetails und Passwörter speichern kann, aber die produktiven bleiben in der wp-config.php. Ist das zu viel Mühe und sollte ich einfach wp-config.php unversioniert lassen?
wp-config
version-control
jjeaton
quelle
quelle
Antworten:
So mache ich das und ich bin auf nichts Besseres gestoßen. Ich behalte eine andere Version der wp-config.php-Datei unter Versionskontrolle und behalte dann eine Datei in einem Verzeichnis darüber, in der alle Datenbankanmeldeinformationen und Salt / Keys gespeichert sind. Auch auf diese Weise kann ich zwischen der Art des Setups unterscheiden, das ich ausführe, und die Dinge darauf basierend anders machen.
Hier ist das
wp-config.php
, unter dem ich mich befindegit
( https://gist.github.com/1923821 ):Und hier ist die lokale Konfigurationsdatei, die sich in einem Verzeichnis oberhalb des WordPress-Stammverzeichnisses befindet. Dadurch ist sie auch außerhalb des im Web zugänglichen Verzeichnisses verfügbar. Falls Apache also aufhört, PHP-Dateien zu analysieren und sie wegzuwerfen, sind unsere Datenbank-Anmeldeinformationen immer noch sicher ( https: / /gist.github.com/1923848 ):
Auf diese Weise
local-config.php
verhält sich mein System , wenn die oben genannte Datei benannt ist , wie eine lokale Installation. Wenn es benannt iststaging-config.php
, verhält es sich wie eine Staging-Installation und wenn es benannt istproduction-config.php
. Es hilft mir, unterschiedliche Werte für bestimmte Konstanten zu haben, z. B. Debuggen, unterschiedliche Werte unter verschiedenen Umgebungen und immer noch alles unter SCM (Git). Die Möglichkeiten sind endlos und es ist kein Hacker für verschiedene Umgebungen erforderlich.Dies stellt sicher, dass Sie niemals vertrauliche Informationen öffentlich zugänglich machen und ich starte damit jedes Projekt, an dem ich arbeite. Ich habe standardmäßig stärkere Schlüssel und sobald ich sie der zweiten Konfigurationsdatei hinzufüge, ein Verzeichnis darüber. diese werden anstelle der hier definierten verwendet. Glückseligkeit!
quelle
../
(dh../filename
) irgendwo? - Ich habe keine../
in der Hauptdatei gefundenwp-config.php
.DB_CREDENTIALS_PATH
macht das.Wenn sich Ihre
wp-config.php
Datei in der Versionskontrolle befindet, werden alle darin enthaltenen Kennwörter ebenfalls in der Versionskontrolle aufgeführt. Die einzige Möglichkeit, dies zu vermeiden, besteht darin , die Datei nicht der Versionskontrolle zu unterziehen.Mein Bauchgefühl wäre es,
wp-config.php
völlig unversionslos zu bleiben . Aber es gibt einige Möglichkeiten, dies zu umgehen.Extrahieren Sie den Teil
wp-config.php
, der Ihre Passwörter und Hashes enthält, in eine separate Datei undinclude()
in die regulärewp-config.php
Datei. Dann Platzwp-config.php
unter Versionskontrolle, aber halten Sie Ihreinclude()
Datei getrennt.wp-config.php
:Sie können jetzt sehen, dass Passwörter und Hashes überhaupt nicht enthalten sind
wp-config.php
.conf.php
:Aber ehrlich gesagt, fügen Sie hier nur eine redundante Abstraktionsebene hinzu. Der gesamte Grund
wp-config.php
ist in erster Linie getrennt, weil es umgebungsspezifisch ist. Sie sollten es überhaupt nicht von einem lokalen Server in die Produktion kopieren ... es sollte also überhaupt nicht unter Versionskontrolle stehen.quelle
wp-config.php
hat einen zusätzlichen Vorteil: Sie könnenconf.php
in ein Nicht-WP-Skript einbinden, ohne WordPress vollständig zu laden.Marks Beispiel geht davon aus, dass Sie mit einem privaten Repo arbeiten:
Anstatt die Anmeldeinformationen zu definieren, können Sie auch eine production-config.php-Datei erstellen und in die bedingte Prüfung einbeziehen:
Dann in deiner unversionierten production-config.php:
quelle
Sie könnten die
wp-config.php
Datei ohne Ihre geheimen Zeichenfolgen in das Repository übertragen und dann ausführen:Dies wird git sagen, dass anzunehmen ist, dass die Datei nun unverändert ist.
quelle
assume-unchanged
Wechsels nicht bewusst , aber hier sind meine zwei Punkte: (1) Wenn Sie die Datei direkt hinzufügen, wird sie dem Index hinzugefügt. Es besteht also die Gefahr, dass Sie es versehentlich irgendwann hinzufügen. (2) Wenn Sie ein Commit mit diesem Flag zusammenführen, schlägt die Zusammenführung ordnungsgemäß fehl, sodass Sie sie manuell handhaben können. Dies ist also keine elegante Lösung. Es kann nur verwendet werden, um Änderungen während einer Entwicklungssitzung vorübergehend zu ignorieren. Lesen Sie hier mehr - gitready.com/intermediate/2009/02/18/…