Wie übertrage ich die Magento 2-Site von Localhost auf den Server?

Veröffentlicht: 2019-06-06

Der Prozess der Übertragung einer Magento 2-basierten Website von einem lokalen Host auf einen anderen ist kein zeitaufwändiger Prozess. Es hat jedoch eine Reihe von Details und Besonderheiten, die berücksichtigt werden sollten, bevor Sie sich in den Prozess stürzen.

In diesem Blogbeitrag machen wir die Übertragung einer Magento 2-Site von localhost auf einen Server so einfach wie Lego. Lassen Sie uns einen Einblick haben.

Inhaltsverzeichnis

  • Hauptschritte
  • Einfach wie Lego: Schritt-für-Schritt-Anleitung
    • 1. Plausibilitätsprüfung der Magento 2-Site auf dem aktuellen Host
    • 2. Vorbereitung des entfernten Hosts (B).
    • 3. Remote-Host-Check (B)
    • 4. Daten für die Übertragung vorbereiten
      • 4.1. Datei-Dump
      • 4.2. Datenbank-Dump
    • 5. Datenübertragung
    • 6. Daten entpacken
      • 6.1. Dateien entpacken
      • 6.2. Import von Datenbanken
    • 7. Zugriffsdatenkorrektur auf dem Remote-Host (B)
    • 8. Korrektur der Zugriffsberechtigungen auf Dateien und Verzeichnisse
    • 10. Fehlerbehebung: häufige Probleme
      • Fehler 1
      • Ausgabe Nr. 2
      • Ausgabe Nr. 3
      • Ausgabe Nr. 4
      • Ausgabe Nr. 5
  • Endeffekt

Hauptschritte

Lassen Sie uns zunächst einen Blick auf die wichtigsten Schritte der Übertragung werfen:

  1. Plausibilitätsprüfung der Magento 2-Site auf dem aktuellen Host (A);
  2. Bereitstellen des entfernten Hosts (B);
  3. Remote-Host-Check (B);
  4. Daten für die Übertragung vorbereiten; 4.1. Datei-Dump; 4.2. Datenbank-Dump;
  5. Datentransfer;
  6. Daten entpacken; 6.1. Entpacken von Dateien; 6.2. Import von Datenbanken;
  7. Zugriffsdatenkorrektur auf dem entfernten Host (B);
  8. Korrektur der Zugriffsberechtigungen auf Dateien und Verzeichnisse;
  9. Standardverfahren vor dem Start von Magento;
  10. Magento-Performance-Checks auf dem Remote-Host (B);
  11. Lösung häufiger Probleme.

Einfach wie Lego: Schritt-für-Schritt-Anleitung

1. Plausibilitätsprüfung der Magento 2-Site auf dem aktuellen Host

Hier ist alles einfach: ausführen und prüfen. Normalerweise sollte für solche Zwecke ein Auftrag (vollständiger Zyklus) erstellt werden. Dann überprüfe:

  • Suche;
  • Produktseiten,
  • Kategorien,
  • Kundenkonto.

Dies ist eine wichtige Phase, da Sie sich damit von Fragen fernhalten können, wann genau etwas nach dem Umzug zu einem neuen Host nicht mehr funktioniert. Dies erspart Ihnen auch die Notwendigkeit, sich mit den grundlegenden Host-Problemen zu befassen, die im Voraus gelöst werden können (A).

Ich ermutige Sie, ein halbwegs funktionierendes Magento NICHT ohne dringenden Bedarf zu übertragen. Es ist viel einfacher, alle Probleme auf dem aktuellen Host (A) zu lösen, bevor Sie mit dem Übertragungsprozess beginnen. Bewährt und erprobt ― das spart Ihnen Zeit und Nackenschmerzen.

2. Vorbereitung des entfernten Hosts (B).

Der Server, auf dem die Magento-Kopie bereitgestellt wird, muss die Mindestanforderungen für Ihre Magento-Version erfüllen.

Lesen Sie die offizielle Dokumentation, um mehr über diese Anforderungen zu erfahren: https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements-tech.html

Die Umgebung muss eingerichtet werden, bevor mit den nächsten Schritten des Übertragungsprozesses fortgefahren wird (Webserver mit virtuellem Host, PHP, Datenbank).

Leider geht die Konfiguration jedes einzelnen Teils über den Rahmen dieses Artikels hinaus. Sie können die erforderlichen zusätzlichen Informationen jedoch leicht im Internet finden. Es sollte also keine Schwierigkeiten bereiten.

Ich empfehle, besonders auf das Vorhandensein der erforderlichen PHP-Erweiterungen zu achten.

Sollten Sie Fragen zu einem Schritt dieses Tutorials haben, hinterlassen Sie bitte einen Kommentar. Ich werde mein Bestes tun, um sie alle zu beantworten.

3. Remote-Host-Check (B)

Stellen Sie vor der Übertragung von Magento sicher, dass es auf dem neuen Host funktioniert und der Host selbst ordnungsgemäß funktioniert. Überprüfen Sie zunächst, ob der Webserver unter der angegebenen Adresse antwortet (wir gehen davon aus, dass der Host bereits konfiguriert wurde).

In meinem Beispiel verwende ich den Standardpfad, der direkt nach der Installation von Apache2 auf dem Linux-Server verfügbar ist:

> /var/www/html

 sudo -u apache echo "<?php phpinfo();?>" > /var/www/html/index.php

*Hier und im Folgenden werden die Befehle bei Bedarf von den entsprechenden Benutzern ausgeführt. Wenn der Befehl ohne Benutzernamen ausgeführt wird, sollte die Befehlsausführung ab dem aktuellen Benutzer und der Verfügbarkeit entsprechender Berechtigungen gemeint sein.

Wenn nach Ausführung dieses Befehls keine Fehler auftreten, ist alles gut gelaufen und Ihre Datei „index.php“ muss unter folgender Adresse verfügbar sein: {host}/index.php. Das Ergebnis in Ihrem Browser sollte ungefähr so ​​aussehen (obwohl vieles noch von Ihrer PHP-Version abhängt):

Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

Wenn etwas schief gelaufen ist und Sie keine Informationen zu Ihrer PHP-Version sehen, wenden Sie sich bitte an eine entsprechende Anleitung zur Konfiguration eines von Ihnen benötigten Webservers.

Außerdem empfehle ich, die Protokolle im Voraus zu studieren – das wird eine Menge Zeit sparen.

Überprüfen Sie als Nächstes, ob der Datenbankdienst gestartet wurde und ordnungsgemäß funktioniert:

 mysql -u root -p

Als Ergebnis sollten Sie erfolgreich eine Verbindung zu MySQL herstellen. Verwenden Sie zum Beenden den Befehl „exit“.

* Geben Sie den Benutzernamen und das Passwort ein, die Sie beim Einrichten von MySQL verwendet haben.

Außerdem müssen Sie nach erfolgreicher Verbindung mit MySQL die vorhandenen Datenbanken überprüfen.

 SHOW databases;

Die Namen der Datenbanken, die Sie übertragen möchten, dürfen nicht mit denen identisch sein, die bereits auf dem neuen Server vorhanden sind. Falls es ähnliche Datenbanken gibt, sollte dieses Problem manuell gelöst werden, indem Sie beispielsweise eine vorhandene, aber nicht verwendete Datenbank löschen oder eine zu übertragende Magento-Datenbank umbenennen. Beachten Sie, dass Sie den geänderten Namen unbedingt in der Konfigurationsdatei der Magento-Umgebung `app/etc/env.php` eintragen müssen.

Ihr Ergebnis sollte ungefähr so ​​aussehen:

Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

Außerdem müssen Sie überprüfen, ob der Dienst selbst gestartet wurde und mit dem Dienstprogramm netstat auf den Standardport lauscht:

 netstat -vulntp | grep -i mysql

Ihr Ergebnis sieht in etwa so aus:

 > tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3366/mysqld

4. Daten für die Übertragung vorbereiten

4.1. Datei-Dump

Bevor Sie einen Datei-Dump erstellen, empfehle ich Ihnen dringend, alle unnötigen Dateien aus dem Magento-Verzeichnis zu entfernen, falls vorhanden, dh alte Dumps, Cache, Protokolle usw.

 rm -rf var/cache/* var/page_cache/* var/generation/* var/composer_home/cache/* var/log/* pub/static/*

Dadurch können Sie den Vorgang verkürzen. Abgesehen davon, dass Sie unnötige Dateien nicht übertragen müssen, vermeiden Sie die Nutzung von Serverplatz ohne besonderen Bedarf.

*Löschen Sie `.htaccess` und andere versteckte Dateien NICHT gewaltsam, wenn Sie den Apache2-Webserver verwenden (der `rf`-Befehl löscht sie standardmäßig nicht). Diese Dateien werden für den korrekten Betrieb von Magento benötigt.

Gehen Sie nun in das Verzeichnis, in dem sich unser Magento auf dem lokalen Server befindet (A). In meinem Beispiel ist es:

 > /Users/sergei/PhpstormProjects

Das Verzeichnis mit Magento heißt unter aws-botapi .

Erstellen wir ein Archiv für die weitere Übertragung zum Remote-Host (B):

 tar -zcf aws-botapi.tar.gz aws-botapi

Sie sollten überprüfen, ob das Archiv erstellt wurde:

 ls -la aws-botapi.tar.gz

4.2. Datenbank-Dump

Wenn mehrere separate Datenbanken lokal auf Ihrer Magento-Site angeordnet sind, müssen alle übertragen werden. In meinem Beispiel werden zwei Datenbanken verwendet. Sie finden sie in den Konfigurationen der Magento-Umgebung `app/etc/env.php` im Abschnitt `db => connection => `.

Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

Sichern Sie jetzt alle Datenbanken:

 mysqldump -u root -p db1 | gzip > ./db1.sql.gz mysqldump -u root -p db2 | gzip > ./db2.sql.gz

*Verwenden Sie Informationen wie den Datenbankbenutzernamen und den Datenbanknamen.

5. Datenübertragung

Übertragen Sie den Magento-Dateien-Dump mit dem Dienstprogramm „scp“ (Kopieren über ssh) oder verwenden Sie andere Mittel nach Belieben (z. B. Kopieren über „ftp“):

 scp -i ~/.ssh/myprivatekey.pem aws-botapi.tar.gz [email protected]:/home/ec2-user

Wo,

a) -i ~/.ssh/myprivatekey.pem ist der Pfad zum privaten Schlüssel für die Verbindung (ignorieren Sie dies, wenn Sie nur das Passwort verwenden);

b) ec2-user ist der Benutzername für die Verbindung;

c) 52.12.187.98 ist die Serveradresse;

d) /home/ec2-user ist der absolute Pfad auf dem Server, wohin wir die Dateien kopieren.

*Wenn Sie einen vom Standard abweichenden Port verwenden, vergessen Sie nicht, diesen mit einem separaten Parameter zu kennzeichnen (z. B. „-P 6000“ für Port 6000).

Nachdem der Kopiervorgang abgeschlossen ist, sehen Sie eine Zeile der Art:

 > aws-botapi.tar.gz 100% 312MB 4.3MB/s 01:11

Wiederholen Sie die gleichen Aktionen für den Datei-Dump:

 scp -i ~/.ssh/myprivatekey.pem db1.sql.gz [email protected]:/home/ec2-user scp -i ~/.ssh/myprivatekey.pem db2.sql.gz [email protected]:/home/ec2-user

6. Daten entpacken

6.1. Dateien entpacken

Navigieren wir auf dem Server (B) zu dem Verzeichnis, in das wir die Archive kopiert haben. Lassen Sie uns die Magento-Dateien in das Verzeichnis des lokalen Hosts entpacken:

 > tar -zxf aws-botapi.tar.gz -C /var/www/html/

Vergewissern Sie sich, dass die Dateien korrekt entpackt wurden:

 ls -la /var/www/html

Wenn die Magento-Dateien in das Unterverzeichnis entpackt wurden, übertragen Sie sie entweder mit den Befehlen „mv“ oder „cp“.

6.2. Import von Datenbanken

Verbinden Sie sich mit MySQL auf dem Server (B):

 mysql -u root -p

Lassen Sie uns nun eine neue Datenbank erstellen:

 CREATE DATABASE IF NOT EXISTS db1 CHARACTER SET utf8 COLLATE utf8_general_ci;

*Das Ergebnis sollte ungefähr so ​​aussehen:

 > Query OK, 1 row affected (0.01 sec)

Führen Sie ähnliche Aktionen durch, falls Sie andere Datenbanken haben.

Importieren Sie dann Datenbanken aus dem Dump:

 gunzip < /home/ec2-user/db1.sql.gz | mysql -u root -p db1 gunzip < /home/ec2-user/db2.sql.gz | mysql -u root -p db2

Mit MySQL verbinden:

 mysql -u root -p

und überprüfen Sie, ob alle Datenbanken vorhanden sind:

 SHOW databases;

Die Liste aller Datenbanken muss verfügbar sein, einschließlich unserer:

 +--------------------+ | Database | +--------------------+ | db1 | | db2 | | information_schema | | mysql | | performance_schema | +--------------------+ 5 rows in set (0.00 sec)

Wählen Sie die gerade importierte Datenbank aus:

 USE db1;

und überprüfen Sie das Vorhandensein von Tabellen:

 SHOW tables;

Falls die Tabellen nicht erstellt wurden oder leer sind, überprüfen Sie die Dump-Datei selbst und wiederholen Sie den gesamten Vorgang noch einmal, mit Ausnahme des Schritts, als eine neue Datenbank erstellt wurde (da sie bereits vorhanden ist).

7. Zugriffsdatenkorrektur auf dem Remote-Host (B)

Die Hauptdaten, die nach der Übertragung in Magento geändert werden sollten, sind 1) Basis-URLs und 2) Zugangsschlüssel zu MySQL:

Basis-URLs ändern

Sie müssen alle alten Pfade in der Tabelle „core_config_data“ ändern. Lassen Sie uns zunächst diese Felder mithilfe der Abfrage "Wert" lokalisieren, die die alte Adresse enthält. Angenommen, die alte Website-Adresse lautete „1001101010.com“, dann sieht der Suchbefehl wie folgt aus:

 SELECT * FROM core_config_data WHERE `value` LIKE '%1001101010.com%' \G

*`\G` am Ende der Abfrage statt `;` macht die Datensätze besser lesbar.

** Vergessen Sie nicht, `table_prefix` vor Tabellennamen zu verwenden, wenn es installiert wurde.

Das Ergebnis wird ungefähr so ​​aussehen:

 mysql> SELECT * FROM core_config_data WHERE `value` LIKE '%1001101010.com%' \G *************************** 1. row *************************** config_id: 2 scope: default scope_id: 0 path: web/unsecure/base_url value: http://1001101010.com/
 *************************** 12. row *************************** config_id: 2401 scope: default scope_id: 0 path: web/secure/base_url value: https://1001101010.com/ *************************** 13. row *************************** config_id: 2402 scope: default scope_id: 0 path: web/secure/base_link_url value: https://1001101010.com/ 13 rows in set (0.00 sec)

An diesem Punkt ist es unser Ziel, die alte Adresse in eine neue zu ändern. Stellen wir zu diesem Zweck sicher, dass es tatsächlich in allen Zeilen geändert werden sollte (es ist meistens so, außer in einigen seltenen Fällen, in denen Module von Drittanbietern konfiguriert werden) und führen Sie die folgende Abfrage aus:

 UPDATE `core_config_data` SET `value` = replace(value, '1001101010.com', 'mynewdomain.com') WHERE `value` LIKE '%1001101010.com%';

Es ersetzt alle Vorkommen von „1001101010.com“-Zeilen im „Wert“-Feld durch die „mynewdomain.com“-Zeile.

Das Ergebnis sollte etwa wie folgt aussehen (die Anzahl der Zeilen sollte gleich sein):

 > Query OK, 13 rows affected (0.00 sec) > Rows matched: 13 Changed: 13 Warnings: 0

Folgende Anfrage:

 SELECT * FROM core_config_data WHERE `value` LIKE '%1001101010.com%' \G

Jetzt ist es an der Zeit, die Datei der Umgebung `app/etc/env.php` (aus dem Magento-Root; im Beispiel war es `/var/www/html/`) zu bearbeiten.

Öffnen wir es in einem Textverarbeitungsprogramm (ich benutze Nano , ist aber sicher eine Frage der persönlichen Vorlieben).

 nano /var/www/html/app/etc/env.php

Bearbeiten Sie dann die Daten in „db“ => „Verbindung“, indem Sie die korrekten Daten vom neuen Server in den Feldern „Benutzername“ und „Passwort“ angeben.

* WICHTIG! Wenn sich Ihre Datenbank auf einem Remote-Server befindet, müssen die Daten nicht geändert werden. Das Einzige, was Sie tun müssen, ist sicherzustellen, dass vom aktuellen Server aus Zugriff auf diese entfernte Datenbank besteht. (Zum Beispiel, dass es zur Firewall-Whitelist auf dem Datenbankserver hinzugefügt wurde).

Verwenden Sie den Wert „localhost“ im Feld „host“, um zu verstehen, ob die Verbindung lokal ist oder nicht.

Als nächstes speichern Sie die Datei.

8. Korrektur der Zugriffsberechtigungen auf Dateien und Verzeichnisse

Um Zugriffsberechtigungen genau einzurichten, müssen Sie wissen, von welchem ​​Benutzer und mit welcher Gruppe Ihr Webserver läuft.

Am häufigsten ist es entweder „Apache“ für CentOS oder „www-data“ bei Ubuntu. In der Regel entspricht der Benutzername dem Gruppennamen. Auf verschiedenen Servern kann dies jedoch unterschiedlich sein.

Der folgende Befehl hilft Ihnen dabei, es herauszufinden:

 ps aux | egrep '(apache|httpd)'
Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

Infolgedessen sehen Sie in der ersten Spalte den Benutzernamen (der Gruppenname ist wahrscheinlich derselbe. Wenn Sie sich jedoch nicht sicher sind, verwenden Sie den Befehl „groups apache“, wobei „apache“ der Benutzername ist Hör zu).

Als Erstes müssen wir alle Dateien und Verzeichnisse in Magento an den Webserver-Benutzer übertragen (in diesem Beispiel ist es „Apache“. Für den „www-data“-Benutzer ersetzen Sie einfach „Apache:Apache“ durch „ www-data:www-data`, und ähnlich für andere):

 sudo chown -R apache:apache /var/www/html

Überprüfen Sie als Nächstes, ob die Änderungen übernommen wurden oder nicht:

 ls -la /var/www/html

Alle Dateien und Verzeichnisse (außer dem übergeordneten, das als „..“ markiert ist, müssen einen Benutzer und die Gruppe „apache“ haben (wenn „www-data“ ein Webserver-Benutzer in Ihrem System ist, dann sollte es als eine Eigentümer):

Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

Jetzt ist es erforderlich, die Zugriffsberechtigungen für die Magento-Dateien und -Verzeichnisse genau einzurichten. Laut Dokumentation wird folgendes Setup dringend empfohlen:

*Alle Befehle müssen vom Root-Magento! ausgeführt werden, konsistent 1 nach 1. Im Beispiel ist das Magento-Root auf dem Server `/var/www/html`.

Verwenden Sie den Befehl "pwd", um den aktuellen Standort zu überprüfen.

 find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} + find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} + chmod u+x bin/magento

*Falls der aktuelle Benutzer nicht berechtigt ist, diese Befehle auszuführen, verwenden Sie das „root“ des Benutzers (Befehl „sudo“, wie „sudo find …“)

9. Standardverfahren vor dem Start von Magento

Es ist an der Zeit zu überprüfen, ob Magento über die Befehlszeile gestartet wird. Lassen Sie uns zunächst die Standardausgabe der Befehle testen, auf die Sie Zugriff haben:

*Nun, nach dem Einrichten der Berechtigungen, erfolgt jeder Zugriff auf Magento von demselben Webserver-Benutzer, der Dateien, Cache-Dateien, Statik usw. generiert. Wenn Sie dies ignorieren, wird Magento möglicherweise nicht mehr ausgeführt und Sie werden gezwungen, die Berechtigungen wiederherzustellen noch einmal (der vorherige Schritt in diesen Richtlinien).

**Für einen korrekten Betrieb müssen Sie den richtigen php -Interpreter auf Ihrem Server finden. Üblicherweise bezieht sich der Alias ​​„php“ auf die aktuelle Version. Allerdings müssen Sie oft den vollständigen Pfad angeben, wie zum Beispiel `/usr/bin/php72`.

***Hier und im Folgenden werden alle Magento-Befehle aus dem Magento-Root-Verzeichnis auf dem Server (B) ausgeführt.

 sudo -u apache php bin/magento list

Dadurch wird die Liste mit den Befehlen in der Befehlszeile verfügbar:

Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

Wenn alles erfolgreich verlaufen ist, können Sie mit den weiteren Befehlen fortfahren:

*Wenn Sie vor der Übertragung die Verzeichnisse mit Cache und den generierten Dateien nicht gelöscht haben, ist dies der richtige Zeitpunkt, dies mit dem folgenden Befehl zu tun:

 sudo rm -rf var/cache/* var/page_cache/* var/generation/*
 sudo -u apache php bin/magento setup:upgrade

Sie können die Ausführung dieses Befehls vermeiden, aber ich empfehle dennoch sicherzustellen, dass alle Module geschrieben werden und keine Fehler auftreten. Als Ergebnis sehen Sie eine Liste mit Modulen, die verarbeitet wurden, während keine Fehler im Prozess angezeigt werden.

Führen Sie die Kompilierung durch, um die erforderlichen Magento-Dateien zu generieren:

 sudo -u apache php bin/magento setup:di:compile

*An diesem Punkt ist es wichtig, alle aufgetretenen Fehler zu erkennen. Andernfalls wird Magento nicht ordnungsgemäß ausgeführt. Wenn keine Fehler gefunden wurden, ist alles perfekt. ?

Generieren Sie dann Statik ( wenn der Produktionsmodus aktiviert ist. Verwenden Sie den folgenden Befehl, um Ihren aktuellen Modus zu überprüfen:

 sudo -u apache php bin/magento deploy:mode:show
 sudo -u apache php bin/magento setup:static-content:deploy

*Um Statiken für ein bestimmtes Gebietsschema zu generieren, geben Sie es als Parameter nach dem Befehl an. Beispielsweise wird `sudo -u apache php bin/magento setup:static-content:deploy ru_RU` für das russische Gebietsschema verwendet.

Herzliche Glückwünsche! Sie haben Ihren Magento2-Shop erfolgreich von localhost übertragen, damit er ordnungsgemäß auf einem neuen Server funktioniert. Öffnen Sie es jetzt in einem Browser, indem Sie eine neue Adresse eingeben!

Wie übertrage ich die Magento 2-Site von Localhost auf den Server? | MageWorx Magento-Blog

10. Fehlerbehebung: häufige Probleme

Fehler 1

Problem:

Wenn Sie beim Kopieren des Archivs eine Meldung der Art erhalten:

 scp: /var/www/html/aws-botapi.tar.gz: Permission denied

Dann sollten Sie zunächst prüfen, wohin Sie das Archiv auf dem Server kopiert haben. Es ist sehr wahrscheinlich, dass der Benutzer, der eine Verbindung herstellen möchte, nicht berechtigt ist, einen Eintrag in diesem Verzeichnis (in diesem Beispiel `/var/www/html`) zu erstellen.

Lösung:

Dies kann gelöst werden, indem Sie das Verzeichnis ändern, in das Sie versuchen zu kopieren, wenn Sie den Befehl ` scp ` ausführen oder sich mit dem Server verbinden und die Zugriffsberechtigungen für dieses Verzeichnis für den aktuellen Benutzer anpassen:

`sudo chown -R ec2-user /var/www/html` (einen Benutzer zum Eigentümer des Verzeichnisses `/var/www/html` und aller enthaltenen Dateien und Verzeichnisse machen) oder

`sudo chmod -R o+w /var/www/html` (erlaubt allen (`o-ther`), einen Eintrag (`w-rite`) im Verzeichnis `/var/www/html` zu erstellen).

Verwenden Sie diese Befehle mit Vorsicht, da sie Ihre Systemsicherheit direkt beeinflussen.

Ausgabe Nr. 2

Problem:

Wenn beim Importieren von Datenbanken der folgende Fehler auftritt „ERROR 1049 (42000): Unbekannte Datenbank „db1“ (wobei „db1“ der Name einer Datenbank ist), dann wurde Ihre Datenbank nicht erstellt.

Lösung:

Versuchen Sie, auf "mysql" zuzugreifen, und erstellen Sie diese Datenbank erneut.

Ausgabe Nr. 3

Problem:

Wenn Sie beim Ändern des Eigentümers von Dateien und Verzeichnissen den Befehl `chown: invalid user: … ` sehen, haben Sie wahrscheinlich den Webserver-Benutzer auf Ihrem Server falsch angegeben.

Lösung:

Konsultieren Sie die entsprechenden Anleitungen zur Konfiguration des Servers in Ihrem System oder verwenden Sie das Dienstprogramm "ps aux", um den richtigen Benutzer zu ermitteln.

Ausgabe Nr. 4

Problem:

Wenn beim Start von Magento auf einem neuen Server PHP-Fehler auftreten (in der Regel bedeutet dies das Fehlen einiger PHP-Erweiterungen)…

Lösung:

Dies kann durch die Installation der fehlenden Erweiterungen behoben werden.

a) `Die json-Erweiterung von PHP ist erforderlich, um den NormalizerFormatter von Monolog zu verwenden` ―

*php-json*-Erweiterung fehlt;

b) `Schwerwiegender PHP-Fehler: Uncaught Error: Class 'DOMDocument' not found in …` ―

*php-xml*-Erweiterung fehlt;

c) `Schwerer PHP-Fehler: Klasse 'IntlDateFormatter' nicht gefunden in …` ―

*php-intl* Erweiterung fehlt.

Ausgabe Nr. 5

Problem:

Wenn beim Ausführen des Befehls „composer update“ PHP-Erweiterungen fehlen, werden die folgenden Fehler angezeigt:

Zum Beispiel,

`phpunit/phpunit 6.5.14 benötigt ext-mbstring * -> die angeforderte PHP-Erweiterung mbstring fehlt auf Ihrem System.`

Lösung:

Um mit solchen Fehlern umzugehen, müssen Sie einfach PHP-Erweiterungen installieren, auf die sich der Composer bezieht. Zum Beispiel „yum install php-mbstring“.

Eine vollständige Liste der erforderlichen Erweiterungen für Ihre Magento 2-Version finden Sie in der offiziellen Dokumentation.

Endeffekt

Sie sind bereit! In diesem Artikel habe ich mein Bestes getan, um einfach zu befolgende Schritte zum Übertragen Ihrer Magento 2-Site von localhost auf den Server vorzustellen.


Wenn Sie noch Fragen haben oder Ihre Meinung mitteilen möchten, können Sie gerne den Kommentarbereich unten verwenden. Ich werde mein Bestes tun, um alle Fragen und Bedenken zu beantworten!