Hier ist mein Setup. Ich habe eine Multisite-Instanz unter http://example.com und möchte Entwicklung und Staging durchführen. Das Verschieben einer vorhandenen Multisite-Instanz von WP auf localhost ist ein Albtraum, daher werde ich stattdessen Entwickler an einem Staging-Standort ausführen.
Ich habe http://staging.example.com so eingerichtet, dass es auf das Verzeichnis / public_html / staging / des Hosting-Kontos verweist, und alle WP-Dateien von meinem Stammverzeichnis in das Verzeichnis / staging / kopiert. Ich habe auch die Datenbankdateien kopiert (SQL-Dump, die Tabellen in eine neue Datenbank importiert) und die Datei wp-config.php so geändert, dass sie auf die neue Datenbank verweist.
Nachdem ich SQL ausgeführt habe, um die Datenbankeinträge zu ändern, ändere ich auch diese eine Zeile in der Datei wp-config.php:
/** Turning on WordPress MU, new in 3.0 */
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'example.com' ); // <- I change this line
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Gewechselt zu:
define( 'DOMAIN_CURRENT_SITE', 'staging.example.com' ); // <- now changed
Wenn ich http://staging.example.com lade , bekomme ich ... Error establishing database connection
!
Ich habe den Benutzernamen und das Kennwort überprüft und dreifach überprüft, sichergestellt, dass der Benutzer über alle Berechtigungen für die neue Staging-Datenbank verfügt, und den DBHOST als 'localhost' belassen (obwohl dies nicht in staging.example.com geändert wurde) Hilfe auch).
Warum sollte die Datenbankverbindung fehlschlagen? Jemand? (Danke im Vorraus für deine Hilfe.)
NB: http://example.com funktioniert einwandfrei mit sehr ähnlichen Einstellungen für die Datenbankverbindung, nur mit einer anderen Datenbank. Es ist also kein Problem, wenn der Datenbankserver nicht verfügbar ist.
Antworten:
Ein Gedanke: Wenn ich zu www.example.com/staging/wp-admin gehe, werde ich automatisch zu www.example.com/wp-admin weitergeleitet
Könnte die Umleitung von staging.example.com zu example.com/staging mit der vorhandenen Installation in Konflikt stehen?
UPDATE: Es sieht so aus, als könnte es mit .htaccess-Problemen und komplizierten Domänenreferenzen in der Datenbank zusammenhängen
Aus dem WP Codex:
quelle
Ich habe es gelöst und es hat funktioniert :)
In der
wp_blogs
TabelleAlte Struktur war
Aber ich habe es so geändert, dass es wie folgt funktioniert:
Für die Root-Site:
Für Unterwebsite 1 (jede Unterwebsite unter Hauptwebsite habe ich nur ein Beispiel gegeben):
quelle
Es gibt wirklich nur einen Weg, um eine einfache Übertragung von Domain oder Host durchzuführen, die ich gefunden habe. Bei Single- und Multisite-Installationen funktioniert es einwandfrei.
Fügen Sie Ihrer wp-config.php-Datei die folgende Zeile hinzu:
define ('RELOCATE', true);
Melden Sie sich an und speichern Sie Ihre Permalink-Einstellungen.
Entfernen Sie die Definitionsregel, die Sie in Ihre wp-config.php eingefügt haben.
quelle