Möchten Sie so schnell wie möglich mit Better WP-Config beginnen?
define()
stellt alle vom WordPress-Kern benötigten Konstanten für Sie bereit.php
assoziierten Arrays, einer .env
Datei oder einer JSON
Datei.db
, debug
, error
, salts
usw.define()
vs. ini_set()
usw. erforderlich.define()
-Konstanten angeben, die von jedem Plugin oder Theme benötigt werdenprivate
Verzeichnisse verwalteter Webhosts zum Speichern der KonfigurationABSPATH
(z. B. WP core) auf Webroot, /wp
oder ein anderes UnterverzeichnisWP_CONTENT_DIR
auf /wp-content
, /app
oder ein anderes Unterverzeichnislocal
, test
, stage
, prod
usw.HTTP_HOST
Domänen zusecrets
)index.php
oder wp-config.php
$_ENV
, $_SERVER
oder getenv()
private
Verzeichnissenwp_config()->print_config();
(Hinweis: Das Folgende wird erst wahr, wenn wir dieses Problem abgeschlossen haben. Bis dahin lesen Sie unseren Schnellstart.)
Erstellen Sie einfach eine Datei mit dem Namen /wp-content/config/config.php
und fügen Sie die Konfiguration Ihrer Site im folgenden Format hinzu:
<?php
return array(
'db[name]' => 'example_db',
'db[user]' => 'example_user',
'db[pass]' => '1234567890abcdef',
'db[charset]' => 'utf8mb4_unicode_ci',
'db[collate]' => 'utf8mb4',
'db[host]' => 'localhost',
'db[table_prefix]' => 'wp_',
'defines' => array(
'CONSTANT_REQUIRED_BY_A_PLUGIN' => 'it's value'
),
);
Sie müssen auch /index.php
und /wp-config.php
Ihrer Site durch sehr einfache Alternativen ersetzen, die Sie hier bzw. hier finden.
Bevor Sie jedoch falsche Annahmen treffen:
Better WP-Config kann Konfigurationsdateien von ../config
, /private/config
oder wo auch immer Sie möchten laden.
Wenn Sie die Trennung von Konfiguration und Code bevorzugen, können Sie Ihr file_format
auf 'env'
setzen.
Es mag einfach aussehen – was den Einstieg erleichtern sollte –, aber Better WP-Config wurde für die Bewältigung hochkomplexer Konfigurationsanforderungen entwickelt. Sobald Sie anfangen und auf komplexere Anwendungsfälle wie mehrere Umgebungen und automatisierte Bereitstellung stoßen, werden Sie erkennen, wie flexibel und leistungsstark Better WP-Config wirklich ist.
Sie fragen sich vielleicht, welches Problem Better WP-Config zu lösen versucht. Sie fragen sich vielleicht: „Warum brauchen wir eine bessere WordPress-Konfigurationslösung?“ Nun, wir brauchen eine, weil wir festgestellt haben, dass viel zu viele Anwendungsfälle, die über das Triviale hinausgehen, eine bessere Konfigurationslösung erfordern. Lesen Sie weiter:
WordPress ist ein großartiges CMS, aber es ignoriert die Bedürfnisse von WordPress-Entwicklern, die einen professionelleren Workflow verwenden möchten, beispielsweise mit test
/ stage
/ live
-Umgebungen. Die Standardkonfiguration von WordPress wurde entwickelt, um die Konfiguration für eine Umgebung zu verwalten. Wenn Sie mehr verwalten möchten, müssen Sie Ihre eigene Konfigurationslösung für mehrere Umgebungen entwickeln.
Mit WordPress können Sie die Konfiguration in wp-config.php
im Webstamm oder einer Verzeichnisebene darüber speichern. Obwohl Sie Ihre Konfiguration in einer anderen Datei speichern und sie dann in wp-config.php
require()
speichern können (was Better WP-Config tut), bedeutet das Zusammenhacken einer benutzerdefinierten Lösung, dass Sie diese auch dokumentieren und pflegen müssen, sofern Sie dies tun Ich möchte mich in Zukunft darauf verlassen.
Und wenn Sie sich die Mühe machen, eine Lösung wie Better WP-Config zu entwickeln und zu dokumentieren, haben Sie im Grunde genommen Zeit (und Geld?) in die Vervielfältigung dessen investiert, was Sie ohne Entwicklungs- und Dokumentationsaufwand hätten verwenden können.
Um das Ganze noch schlimmer zu machen, führt jeder von WordPress verwaltete Host – wie Pantheon und WPEngine – jeweils seine eigenen, willkürlich inkompatiblen Konfigurationslösungen ein, um sein eigenes verwaltetes WordPress-Angebot zu unterstützen.
Hier erfahren Sie, wie verschiedene von WordPress verwaltete Webhosts mit wp-config.php
umgehen und/oder Sie einschränken.
Wenn Sie wissen, wie andere verwaltete WordPress-Websites mit wp-config.php
umgehen, denken Sie bitte darüber nach, eine Pull-Anfrage mit Dokumentation darüber einzureichen, wie sie mit wp-config.php
umgehen, um uns und anderen zu helfen.
Jeder, der mit WordPress gearbeitet hat, weiß, wie man die Datenbankanmeldeinformationen von WordPress über die PHP-Konstanten DB_HOST
, DB_NAME
, DB_USER
und DB_PASSWORD
konfiguriert. Wenn Sie zum ersten Mal mit WordPress arbeiten, scheint dies einfach und unkompliziert zu sein, aber mit der Zeit stellen Sie fest, dass die Konfiguration dadurch sehr unflexibel wird, da Sie Konfigurationen nicht von den WordPress-Standardeinstellungen, den Standardeinstellungen Ihres Projekts, den Besonderheiten Ihrer Umgebung und schließlich der Konfiguration Ihres Webhosts kaskadieren können .
Better WPConfig eliminiert nicht die Verwendung unveränderlicher Konstanten, sondern wartet stattdessen, bis die gesamte kaskadierende Konfiguration zusammengeführt ist, bevor define()
diese Konstanten verwendet wird. (Aber dies könnte ein erster Schritt sein, um die Verwendung der PHP-Konstanten define()
d aus WordPress zu verbannen. Das ist ein Gedanke, denn die unveränderlichen Konstanten von PHP machen das automatisierte Testen der WordPress-Funktionalität viel schwieriger als nötig.)
Leider gibt es keine einfache Möglichkeit, alle für den WordPress-Kern verfügbaren Optionen zu finden, da sie in der gesamten Codebasis von WordPress und an verschiedenen dokumentierten Online-Standorten impliziert sind. Bessere WP-Config löst dieses Problem (meistens) mit "wp_config()->print_config()
, analog zu phpinfo()
Viele Konfigurationsoptionen haben keine Standardeinstellungen, beispielsweise die Datenbankkonfiguration, die den für die lokale Entwicklung erforderlichen Lernaufwand erhöht. Better WP-Config bietet Standardoptionen für alle „bekannten“ Optionen.
Sie könnten von sich aus eine Reihe praktikabler Konventionen entwickeln, um die Versionskontrolle Ihrer Konfiguration für alle verschiedenen Umgebungen zu ermöglichen, die Ihr Projekt benötigt – das haben wir getan –, aber dann stellen Sie fest, dass jeder Webhost anders damit umgeht und es nach Belieben versucht Sie haben das Gefühl, dass es unmöglich ist, eine konsistente Lösung zu finden, die Ihr Team verwenden kann und die mit den verschiedenen Webhosts funktioniert, die Sie und Ihre Kunden ausgewählt haben.
Um besser zu verstehen, warum dies schwierig ist, lesen Sie unbedingt, wie Pantheon und WPEngine jeweils mit ihren wp-config.php
Dateien umgehen.
Schließlich machen die Probleme im Zusammenhang mit professionellen Workflow- und Versionskontroll-Anwendungsfällen, die durch die inkompatiblen Entscheidungen verwalteter WordPress-Webhosts aufgrund der mangelnden Standardisierung von wp-config.php
noch verschärft werden, die Bereitstellung nur schwieriger als nötig. Dies gilt unabhängig davon, ob Sie den SFTP-Upload, die Git-Bereitstellung wie bei Pantheon oder die Bereitstellung über einen Anbieter für kontinuierliche Integration wie CircleCI verwenden.
Die gute Nachricht ist, dass Better WP-Config heute (fast) alle diese Probleme löst! Fangen Sie an .
Wir sind wirklich zufrieden mit der Qualität von Better WP-Config . Es könnte jedoch Folgendes sein:
Es wäre großartig , wenn die Forks von ClassicPress und CalmPress Better WP-Config für die Konfiguration übernehmen würden.
Noch besser wäre es , wenn von WordPress verwaltete Webhoster für ihre Dienste standardmäßig Better WP-Config verwenden würden , oder
Am besten wäre es, wenn WordPress selbst Better WP-Config für Neuinstallationen verwenden würde und gleichzeitig weiterhin die Unterstützung für bestehende Websites aufrechterhalten würde, die bereits seit Jahren wp-config.php
verwenden.
GPLv2