Wie verschiebe ich eine Site von einem Server auf einen anderen?


7

Ich versuche, eine Drupal 8-Site zu verschieben, erhalte jedoch die folgende Fehlermeldung:

Auf der Website ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.

InvalidArgumentException: Klasse "\ Drupal \ system \ Controller \ Http4xxController" existiert nicht. in Drupal \ Core \ DependencyInjection \ ClassResolver-> getInstanceFromDefinition () (Zeile 29 von core / lib / Drupal / Core / DependencyInjection / ClassResolver.php).

Wie verschiebe ich eine Drupal 8-Site ordnungsgemäß von einem Server auf einen anderen?

Ich habe die Datenbank importiert, die Dateien verschoben und die Einstellungen für die Datenbankverbindung geändert.



1
Das OP spricht über das Verschieben einer Drupal 8-Site von einem Server auf einen anderen, nicht über das Migrieren einer Drupal 7-Site auf Drupal 8.
kiamlaluno

Haben Sie Ihren Cache geleert, bevor Sie die Umgebung gewechselt haben? Die Migration sollte so einfach sein wie die Übertragung von Dateien und Datenbanken und das Aktualisieren der Datei settings.php. Diese Fehler treten normalerweise auf, wenn Sie den Cache nach einem Update nicht
leeren

Stimmen die Leute das wirklich zu? Der Titel ist sehr allgemein gehalten und wurde hier mehrfach angesprochen. Wenn der Fehler nützlich ist, sollte die Frage das im Titel haben ...
nizz0k

Antworten:


10

Kurz gesagt, das Verschieben einer Drupal-Website von einem Host auf einen anderen ist nur eine Frage des Verschiebens der Dateien und der Datenbank und des anschließenden Verbindens der beiden.

Es gibt jedoch einige Dinge, die Sie berücksichtigen müssen:

  1. Die Serverumgebung sollte so nah wie möglich beieinander liegen. Auf diese Weise vermeiden Sie Fehler, die auf unterschiedliche Software / Konfiguration auf Produktions- und Entwicklungsservern zurückzuführen sind. Vergleichen Sie die PHP-Version, die MySQL-Version, die Apache-Module und das Setup all dieser Komponenten.

  2. Dateiberechtigungen müssen ordnungsgemäß eingerichtet sein. Ich habe Dutzende Male Probleme gesehen, die dadurch verursacht wurden. Kurz gesagt, der Apache-Benutzer muss über ausreichende Berechtigungen verfügen, um auf Ihre Drupal-Website zugreifen und mit ihr arbeiten zu können. Andernfalls kann es in einigen Fällen keine Dateien schreiben und sogar lesen. Weitere Informationen zum Sichern korrekter Dateiberechtigungen finden Sie hier .

  3. Wenn Sie dies manuell über FTP tun, stellen Sie sicher, dass alle Dateien übertragen werden. Es kommt oft vor, dass eine der Dateien nicht vollständig hochgeladen wurde. Dies führt normalerweise zu einer fehlerhaften Drupal-Site und zufälligen Fehlern. Andere Möglichkeiten zum Migrieren einer D8-Website sind Drush, Git oder das einfache Zippen des gesamten Verzeichnisses und die wgetdirekte Übertragung auf dem anderen Server von Server zu Server.

  4. Sie müssen alle Caches löschen. Vorzugsweise sind CSS / JS-Aggregation und Seiten-Caching bei der Migration der Datenbank nicht aktiviert. Sie können dies über SQL / phpMyAdmin tun. Weitere Informationen finden Sie in dieser Antwort.

  5. Aktualisieren Sie vertrauenswürdige Hosts in der /sites/default/settings.phpDatei.

  6. Sobald Sie auf Ihre Website zugreifen können, aktualisieren Sie den temporären Verzeichnispfad /admin/config/media/file-systemunter sowie alle anderen Einstellungen (z. B. von Contrib-Modulen), in denen Serverpfade / Domänennamen gespeichert sind.

Siehe auch Dokumente zur Migration einer D7-Site . Die meisten Artikel gelten weiterhin für D8.


Wenn Sie die oben genannten Richtlinien befolgen, vermeiden Sie die meisten Probleme. Wenn Sie nach der Migration immer noch Probleme haben, geben Sie hier die genauen Protokollnachrichten an, die Sie erhalten.

In Bezug auf den Fehler, den Sie bereits gepostet haben: Ich würde sicherstellen, dass alle Dateien vorhanden sind und dass Ihr Cache geleert wird, bevor Sie etwas anderes tun.

Hoffe das hilft.


Leider kann ich nicht mehr als das, was ich habe, plus. Das bringt es so gut auf den Punkt und hat für mich funktioniert, als ich von einer sehr großen Seite auf Drupal 7.53 / PHP 5.5.9 unter Ubuntu 14.04 auf PHP 7.0.32 unter Ubuntu 16.04
umgestiegen bin

1

Ich habe den gleichen Fehler beim Portieren von Drupal 8 auf localhost erhalten.

In meinem Fall habe ich eine Lösung gefunden, indem ich den Speicherort mysite / core / install.php besucht habe .

Dort sah ich einen detaillierten Fehler: Beim Sichern von / admin / config / development / backup_migrate fehlten einige Tabellen. Also habe ich die vollständige Datenbank von phpmyadmin gesichert und das Problem wurde behoben.


1
Ja, Backup und Migration haben viele Probleme in meiner begrenzten Erfahrung mit 8, ich mache alles über PMA oder die CLI
nizz0k
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.