PROBLEM BEIM UPDATE VON 4.10 auf 6.0 AUFGETRETTEN: benötige hilfe

Klick mal auf die Tabelle “oxarticles”, und dann auf den Tab “Struktur”. Wird dir da dann die Spalte “oxhidden” angezeigt?

Wenn ja, dann müsstest du eigentlich nur mal die Views mit dem Befehl neu generieren:
vendor/bin/oe-eshop-db_views_generate

Guten Morgen fthielen:

die Spalte “oxhidden” ist doch vorhanden:

Die Datei “oe-eshop-db_views_generate” liegt im TESTSHOp Verzeichnis:

Sobald ich den Befehl: vendor/bin/oe-eshop-db_views_generate in der Konsole ausführe, bekomme ich folgende Meldung…

Liegt es an dem Pfad?

Anscheinend bist du nicht im richtigen Verzeichnis … (daher kann er vendor/bin/oe-eshop-db_views_generate nicht finden).

ОК…habe mir auch schon gedacht…und wie finde ich den richtigen Verzeichnis?
Die Datei oe-eshop-db_views_generate liegt bei mir (wie im Bild_2) im testshop/vendor/bin/oe-eshop-db_views_generate

habe schon testshop/vendor/bin/oe-eshop-db_views_generate eingegeben und leider auch nichts…

Du befindest dich auf der Konsole immer in einem Verzeichnis, wie beim Explorer. Linux unterscheidet auch zwischen Groß- und Kleinschreibung. Schau dir am besten die grundlegenden Shell-Kommandos mal an, z.B.

cd
change directory
Verzeichnis wechseln
cd …; cd /home/me/

ls
list directory
Inhalt eines Verzeichnisses auflisten
ls; ls /var/log/

pwd
gibt den aktuellen Pfad aus

Console starten.

cd testshop

vendor/bin/oe-eshop-db_views_generate

Die Konsolenbefehle werden in der Regel immer dort ausgeführt, wo die composer.json Datei liegt.

Steffen Winde

Nach dem Einloggen habe ich folgendes eingegeben: cd testshop (dann Enter)
dann kam: (uiserver):u45_____(unwichtig):~/Testshop$ dann eingegeben: vendor/bin/oe-eshop-db_views_generate… und das kam raus:

Die Composer.json liegt bei mir im selben Ordner wo vendor und source liegen. …(Bild_2)

So sieht es bei mir derzeit aus:

was mache ich falsch oder was habe ich noch übersehen…?

Dann öffne mal die Datei vendor/bin/oe-eshop-db_views_generate mit einem Texteditor.
Die erste Zeile sollte so aussehen:

#!/usr/bin/env php

Ersetze diese Zeile mal durch folgendes:

#!/usr/bin/env /usr/bin/php7.1-cli

Und führe dann noch mal diesen Befehl aus:

vendor/bin/oe-eshop-db_views_generate

Ich habe folgendes eingegeben:

dann alles eingegeben und folgende Meldung erhalten:

Ich würde dafür schon 'nen richtigen Editor, wie z.B. Notepad++ nehmen. :wink:
Die Datei muss so aussehen:

#!/usr/bin/env /usr/bin/php7.1-cli
<?php

require_once('generate_views.php');

Das darf nicht alles in einer Zeile sein!

Das Parse error deutet auf eine falsche Php version hin.

was passiert bei

/usr/bin/php7.1-cli vendor/bin/oe-eshop-db_views_generate

?

Das würde wahrscheinlich nicht viel bringen, da in der 1. Zeile ja steht, dass der die PHP-Version aus der Umgebungsvariable nutzt

Guten Morgen an Alle!!

habe soeben die Rattschläge umgesetzt, leider immer noch nichts, es kommt eine andere Fehlermeldung raus:

  1. Notepad++ instaliert und den Code eingegeben:

  1. Bei der Datei “oe-eshop-db_views_generate” die Attribute auf 777 gesetzt.

  2. den den ersten Befehl eingegeben: cd testshop (gefolgt von Enter) -> vendor/bin/oe-eshop-db_views_generate (gefolgt von Enter)

Auch die Eingabe von /usr/bin/php7.1-cli vendor/bin/oe-eshop-db_views_generate gibt den selben Fehler aus…

Wass kann man hier noch machen bzw umsetzen? Bin für jeden Rat dankbar und für alles offen…

Dieser vendor/bin-Kram nervt, warum muss man Shell-Kommandos verwenden um PHP-Dateien auszuführen? Ich verstehe das nicht. Füge folgende Zeile am Ende deiner config.inc.php Datei hinzu:

$this->blSkipViewUsage = true;

Vorher den Schreibschutz der Datei entfernen bitte (mit deinem FTP-Programm die Dateiberechtigungen auf 777 setzen). Dann logge dich ins Backend ein und erstelle die Views neu unter Service/Tools/“Views jetzt updaten”. Dann entferne die Zeile wieder aus der config.inc.php und setze die Berechtigungen wieder auf 444 (nur lesen).

Ich habe das soeben umgesetzt

Dann logge dich ins Backend ein und erstelle die Views neu unter Service/Tools/“Views jetzt…

Das Problem ist, ich kann mich nicht ins Backend einloggen, da alles down ist. Der ganze Shop inkl Backend sind offline…

Habe schon sogar den tmp - Ordner (außer .htacces) geleert…Mir gehen schon die Ideen aus…

Kann man den Shop zurück auf 4.10 umstellen? Keine Ahnung, ob die DB überschriben oder neue erstellt wurde…Soweit ich sehen kann sind alle Ordner vom alten Shop vorhanden…

Bitte lösche die Datei EXCEPTION_LOG.txt oder benenne sie um und versuche dich einmal ins Backend einzuloggen, dann sollte eine neue da sein, schau was da drin steht.

Du brauchst die alte DB, ansonsten nein.

PS: nach nochmaligem Lesen dieses ellenlangen Postings verstehe ich dass du keine Möglichkeit hast dich ins BE einzuloggen weil das Setup noch nicht abgeschlossen ist.

Also nochmal auf Anfang: Die Vorgehensweise beim Update ist folgende:

  • Shop V6 parallel neu installieren
  • DB des V6 ersetzen durch die des alten 4.10 und Updateskripte ausführen
  • Dateien aus dem alten Shop kopieren

Der bestehende Shop wird dabei eigentlich nicht tangiert. Falls du beim Setup die bestehende DB überschrieben hast, solltest du schauen ob noch ein Backup vorhanden ist.

habe soeben die Datei EXCEPTION_LOG.txt umbenannt. Nichts. Ich kann mich immer noch nicht einloggen, es kommt das “weiße” Fenster. Die Intstalation von Version 6.0 ist gescheiter nachdem ich den PW und die Benutzername für Backend(Admin) eingegeben, dann habe ich auf weiter geklickt…und es kamm das weisse Fenster…

DB des V6 ersetzen durch die des alten 4.10 und Updateskripte ausführen

soll ich den Ordner “Testshop” auf dem Server löschen und den Update neustarten?

Das Setup müsste sich auch neu starten lassen indem du die Datei config.inc.php durch die Version in \vendor\oxid-esales\oxideshop-ce\source\config.inc.php.dist ersetzt und die Berechtigung von .htaccess und config.inc.php auf 444 stellst.

Wegen dem weissen Fenster könnte es sein dass du Opfer dieses Bugs wurdest: https://bugs.oxid-esales.com/view.php?id=6747. Wenn du sicher gehen willst kannst du dieses Skript in eine Datei packen (test.php) und im Browser aufrufen:

<?php
echo "test";
$stdout = fopen('php://stdout', 'w');
fwrite($stdout, "stdout");

Wenn du dann “teststdout” siehst musst du eine Datei patchen vor dem Setup.

Jap, teststdout wird angezeigt…

Wenn du dann “teststdout” siehst musst du eine Datei patchen vor dem Setup.

welche Datei?