Hallo zusammen, ich wollte gerade meinen Testshop neu machen. Ich habe die Datenbank meines Hauptshops kopiert, einen neuen Benutzer angelegt, entsprechend Berechtigungen vergeben. Habe die Verzeichnisstruktur (Hauptshop in /httpdocs/, Testshop in /test/) kopiert und in der includes/configure.php und admin/includes/configure.php die absoluten Pfade, die URL und die Datenbank-Zugangsdaten angepasst. Anschließend den Cache des Testshops manuell gelöscht. Bei Aufruf des Testshops erscheint jedoch ein Error 500, und im Log erscheint Code: [Fri Oct 29 10:58:51.528053 2021] [proxy_fcgi:error] [pid 466802:tid 140373456303872] [client 3.249.14.32:0] AH01071: Got error 'PHP message: PHP Fatal error: Cannot redeclare smarty_function_load_language_text() (previously declared in /var/www/vhosts/meinedomain.de/httpdocs/GXMainComponents/SmartyPlugins/function.load_language_text.php:17) in /var/www/vhosts/meinedomain.de/test/GXMainComponents/SmartyPlugins/function.load_language_text.php on line 17' Muss ggf. an der DB noch was angepasst werden?
Du musst noch die Shop-ID im Testshop löschen. Ich hab mir die hervorragende Anweisung hier aus dem Forum als pdf gespeichert.Da kannste alles lesen.
Danke für die PDF, die kannte ich noch gar nicht, wird mir sicher hilfreich sein. Ich habe noch die Shop-ID gelöscht, aber das löst den PHP-Fehler leider auch nicht.
@ballistik_danny Ich denke dein "test"-Verzeichnis ist falsch. Deine Domain zeigt auf: /var/www/vhosts/meinedomain.de/httpdocs/ Für den Testshop hast du aber angelegt: /var/www/vhosts/meinedomain.de/test/ Das geht so nicht. Du musst dein Testshop in dieses Verzeichnis anlegen: /var/www/vhosts/meinedomain.de/httpdocs/test/ Und dann mit DeineDomain/test/ aufrufen
Hallo Klaus, Danke für deine Antwort. Das muss so schon stimmen, test ist eine Subdomain für den Shop und /test ist der Webspace-Root für die Subdomain. Aufgrunddessen frage ich mich woher er jetzt in der Fehlermeldung plötzlich das httpdocs zieht...
Um sicherzugehen dass keine Pfade mehr vorhanden sind habe ich soeben auf SSH-Ebene im test-Verzeichnis nach "httpdocs gegreppt: grep -rnl httpdocs /var/www/vhosts/meinedomain.de/test/ Hier kamen nur Ergebnisse aus dem logfiles-Ordner zum Vorschein - irgendwas ist hier wirklich komisch.
OK. Ungewöhnlich, aber nicht unmöglich. Hab mich allerdings mit einem 404 vertan. Sind tatsächlich alle Dateien in das Test-Verzeichnis kopiert worden? Offensichtlich kann er die Sprachdateien nicht laden. Vielleicht einfach alles nochmal rüberkopieren. Wenn du ssh nutzen kannst, dann am besten mit "cp -ar". Zuverlässiger gehts eigentlich nicht. Edit: Hat sich wohl überschnitten. Einfach /test vorher leeren. Dann dürfte alles sauber bleiben
Ich habe jetzt via cp -rip kopiert - scheint soweit alles zu passen. Komisch, hier hat Plesk wohl nicht sauber kopiert. Vielen Dank!
Größere Mengen mit der Plesk Dateiverwaltung zu kopieren ist genauso ein Mist wie mit Filezilla via FTP. Das gibt ständig Probleme. Du solltest beim Kopieren mit CP aber besser das "a"-Attribut mit setzen, damit sämtliche Datei-, Besitz-, Whatever-Rechte mit genommen werden. Das "p" nimmt ja nicht alles mit.
Wenn das /Test-Verzeichnis vorher nicht leer war, kann es auch eine Mischung von alten und neuen Dateien sein. Zumindest wenn der Testshop vorher eine andere Version hatte.
Ich mache das auch umständlich mit Filezilla und FTP. Was heisst "CP"? Wie kopiert ihr den ganzen Shop?
cp steht für copy und ist der Kommandozeilen-Befehl zum Kopieren von Dateien und Verzeichnissen. Die Parameter a (archive) und r (recursive) sorgen für die Übernahme aller Dateirechte und Unterverzeichnisse Siehe auch: https://wiki.ubuntuusers.de/cp/ Beispiel: Code: cp -ar /httpdocs/liveshop/. /httpdocs/testshop Hier wird der komplette Inhalt von /liveshop in das Verzeichniss /testshop kopiert, mit allen nötigen Besitz-, Gruppen- und Zugriffsrechten. Der Vorgang erfolgt binnen weniger Sekunden direkt auf dem Server und ist deshalb quasi fehlerfrei. Das ganze setzt natürlich einen SSH-Zugang deines Hostings und ein Terminal-Programm wie PuTTY auf deinem Rechner voraus. Aber ACHTUNG! Nicht nur das Kopieren geht in der Console sehr schnell und einfach, sondern auch das Löschen!
Achso danke. Mit Putty habe ich schon gearbeitet und am Raspberry Pi rumgespielt. Jetzt habe ich es verstanden.
Die Anleitung ist nicht aktuell, das musste ich auch feststellen. Leider gibt es noch kein Kapitel zum Testshop erstellen im Handbuch, habe dies eben per Ticket gemeldet. in der aktuellen Gambio-Version gibt es die Tabelle configurations nicht mehr, sondern nur noch gx_configurations. In der aktuellen Cloud-Version 4.5.3.1 gibt es beide Tabellen. Den Shop-Key jetzt also in der Tabelle gx_configurations finden. 'configuration/MODULE_PAYMENT_GAMBIO_HUB_STATUS' findet sich (bei 4.5.3.1 zusätzlich zur configurations) Tabelle ebenfalls dort. Damit sich der Shop nicht zum Gambio-Hub verbindet, muss auch in der Tabelle gx_configurations bei gm_configuration/GAMBIO_HUB_CLIENT_KEY der Wert geleert werden. Geht auch einfach so: Code: UPDATE `gx_configurations` SET `value` = '' WHERE (`key` = 'gm_configuration/GAMBIO_HUB_CLIENT_KEY'); Damit der grüne Haken beim Shop-Key in der Status-Leiste unten (trotz Leerung) nicht mehr angezeigt wird: Code: UPDATE `gx_configurations` SET `value` = 0 WHERE (`key` = 'gm_configuration/SHOP_KEY_VALID');
Nein!!! Den Shopkey im shop löschen (oder Ausschneiden, damit man ihn später einfach einfügen kann) Datenbank-Sicherung (für den Testshop) erstellen Shopkey im Shop wieder einfügen Dann hat man keine Probleme und muss nichts in der Datenbank suchen. Das HUB kann man im Admin Trennen, ob das aber im Shop gut ist, oder ob es danach Probleme mit Zahlarten gibt, sollte man bei Gambio direkt erfragen. Vielleicht ist es hier besser das HUB im Testshop zu trennen.
Hallo Barbara, natürlich meinte ich, dass der Shop-Key und die HUB-Verbindung im TESTSHOP raus sollen und nicht im Live-Shop. Warum willst Du das im Live-Shop rausnehmen wenn man einfach die Datenbank des Testshops bearbeiten kann, bevor der Testshop das erste Mal aufgerufen wird? Um nicht suchen zu müssen sind ja gerade die SQL-Befehle praktisch. Am besten mal für alle Sachen zusammen stellen und abspeichern, dann sind sie zur Hand. Braucht man ja doch öfter.
Weil man dann genau nicht in der Datenbank herumsuchen muss. Bei jedem Update wird irgend etwas an der Datenbank geändert. Wenn sich beim nächsten mal z.B. der Name ändert, funktioniert der SQL-Befehl nicht mehr. Dann fängst Du wieder an zu suchen. Deshalb ist es viel einfacher das vor der Erstellung der Sicherung kurz aus dem Shop zu nehmen und anschließend wieder einzusetzen. Ausschneiden -> Speichern -> Datenbanksicherung erstellen -> Einfügen -> Speichern -> Fertig