Update 4.10.2 auf 6.0.0 - Error 404: Not Found: Cannot modify header information / Migration

Hallo Leute,

ich kämpfe mich gerade durch die Update-Anleitung:
https://en.oxid-esales.com/en/support-services/documentation-and-help/oxid-eshop/installation/oxid-eshop-update-installation/update-eshop-to-utf-8-encoding.html

Ich hänge im Punkt 7) run update.php fest.

Sobald ich auf proceed klicke, erhalte ich folgenden Fehler:

Not Found

The requested URL /
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w015d50f/rapidrocks.de/update.php:143) in /www/htdocs/w015d50f/rapidrocks.de/core/oxutilsserver.php on line 87
http://shop.rapidrocks.de/update.php was not found on this server.

Woran kann das liegen? Die Datei ist ja vorhanden. Welche Header information will es denn bearbeiten?

Grüße

Was passiert denn da?

Füge mal in update.php nach

include_once 'bootstrap.php';

folgendes ein:

oxRegistry::getLang()->getBaseLanguage();
1 Like

Genau daran lag es! Es hat danach sofort geklappt! Besten Dank!

EDIT//
Jetzt habe ich die migrate_ce_5_3_to_6_0.sql und die migrate_ce_5_3_to_6_0_cleanup.sql importiert.
Nun steht immer folgendes da, wenn ich meinen Shop aufrufe: “Shop offline!”

was steht im EXCEPTION_LOG.txt?

gelöscht - nicht mehr notwendig

existiert die oxconfig Tabelle?

1 Like

ja die ist noch da

Und hat auch Inhalte?

1 Like

Ja, teilweise zu Themes.
Aber alles mit heutigen Zeitstempel.

wenn es ne CE is kannst du mal schauen was die Funktion _loadVarsFromDb (core/oxconfig.php) zurückgibt und dir da evlt auch den Query ausgeben und mal von Hand ausführen…

1 Like

Denke ich hab es gefunden:

vendor/bin/oe-eshop-db_migrate migrations:migrate

Das habe ich noch nicht gemacht. Jetzt die Frage: wie mache ich das? Welche Tools brauche ich? Geht das auch ohne SSH?

Der Befehl gehr nur über die Konsole (SSH). Du müsstest mal schaun was genau passiert, letztendlich wird dann auch nur PHP ausgeführt. Ggf. kannst du dir da was für einen Browseraufruf bauen.

1 Like

Kann ich den Befehl nicht irgendwie in eine PHP-Datei packen? Wie muss der Befehl bzw. die PHP-Datei dann aussehen?

Schau dir doch mal an was der Befehl (Datei unter bin/vendor/) tut, dann findest du auch die dazu passende PHP-Funktion.

1 Like

Das ist der Inhalt:

#!/usr/bin/env php <?php  require_once('migrate.php');

Richtig! Und was ist nun der nächste Schritt?! :wink:

1 Like

Tja wenn ich das wüsste, würde ich hier gerade keine Antwort tippen :smiley:
Wahrscheinlich die migrate.php ausführen. Ich würde es zwar gerne 100% verstehen, ich bin aber leider kein Programmierer, eher der Betriebswirt, der den Shop doch irgendwie zum laufen bringen muss :slight_smile:

Dann bist du aber leider auch nicht der Richtige um ein Update zu machen, sorry. Ich mach ja auch keine “Betriebswirt-Sachen” ;o. Aber prinzipiell gibt es diese Art von Diskussion schon in div. anderen Threads.

Schau mal, das ist die Datei: https://github.com/OXID-eSales/oxideshop-doctrine-migration-wrapper/blob/master/bin/migrate.php

Ggf. einfach mal probieren das ganze im Browser auszuführen. Dazu muss die aber aufrufbar sein und du musst ggf. die Pfade anpassen.

1 Like

Klar, nur leider bin ich der einzige aus diesem Startup, der überhaupt damit klar kommt. Man kennt es ja, jung, dynamisch und mittelos :smiley: Ich hätte ja auch einen Shop genommen, der monatlich kostet, aber ePages, Gambia, Jimdo - nirgends hat alles so funktioniert, wie wir es brauchte. Oxid war da doch schon die beste Perle.

Okay, also kopiere ich die migrate.php einfach mal in den Order und schaue was passiert. Im Zweifelsfall muss ich es halt mit SSH machen.