it-swarm.com.de

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

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.

7
John Chan

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 PHP Version, MySQL Version, Apache Module und 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 damit arbeiten zu können. Andernfalls kann er in einigen Fällen keine Dateien schreiben und sogar lesen. Lesen Sie mehr darüber wie man korrekte Dateiberechtigungen sichert hier .

  3. Wenn Sie dies manuell über FTP tun, stellen Sie sicher, dass alle Dateien übertragen werden. Es kommt häufig vor, dass eine der Dateien nicht vollständig hochgeladen wurde. Dies führt normalerweise zu fehlerhaften Drupal Site- und zufälligen Fehlern. Andere Möglichkeiten zum Migrieren einer D8-Website sind Drush, Git oder einfach das Komprimieren des gesamten Verzeichnisses und die Verwendung von wget auf dem anderen Server Übertragen Sie es direkt 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. Siehe this Antwort für weitere Informationen.

  5. Aktualisieren Sie vertrauenswürdige Hosts in /sites/default/settings.php Datei.

  6. Sobald Sie auf Ihre Website zugreifen können, aktualisieren Sie den temporären Verzeichnispfad unter /admin/config/media/file-system 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.

10
Aram Boyajyan

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

In meinem Fall habe ich eine Lösung gefunden, die mysite/core/install.php location besucht.

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 gelöst.

1
al.bel