Oxid lokal installieren

Hallo,
ich versuche einen Shop lokal zu installieren und komme leider nicht weiter.
Das Error lang zeigt:
[uncaught error] [type E_COMPILE_ERROR] [file /Applications/MAMP/htdocs/OXID/source/bootstrap.php] [line 141] [code ] [message require_once(): Failed opening required ‘/Applications/MAMP/htdocs/OXID/source/Core/Autoload/BackwardsCompatibilityAutoload.php’ (include_path=‘/Applications/MAMP/htdocs/OXID/vendor/symfony/yaml:.:/Applications/MAMP/bin/php/php7.4.21/lib/php’)]

DB Dump und Dateien habe ich Mamp importiert und die Config.inc.php wie folgt angepasst:

$this->dbType = 'pdo_mysql';
$this->dbHost = '127.0.0.1:8889'; // database host name
$this->dbPort  = 3306; // tcp port to which the database is bound
$this->dbName = 'db752026430'; // database name
$this->dbUser = 'root'; // database user name
$this->dbPwd  = 'root'; // database user password
$this->sShopURL     = 'http://127.0.0.1:8888'; // eShop base url, required
$this->sSSLShopURL  = null;            // eShop SSL url, optional
$this->sAdminSSLURL = null;            // eShop Admin SSL url, optional
$this->sShopDir     = '/Applications/MAMP/htdocs/oxid/source';
$this->sCompileDir  = '/Applications/MAMP/htdocs/oxid/source/tmp';

Die Datei auf die der Error Log zeigt existiert bei mir nicht. Shop ist noch auf 6.02

Jemand eine Idee?

(Die Idee hinter der Aktion ist, den Shop lokal auf 6.5 zu bringen und dann wieder hoch zu schieben,
da der Composer bei Ionsos immer abbricht (memory limit)

Hi rotwild,

Warum machst du dir es nicht einfacher, direkt 6.5 installieren, und dann Datenmigration und Step by Step Module hinterher?
Geht jedenfalls sauberer als wenn du jedes Update 6.0x > 6.1.x > 6.2 > 6.3 > 6.4 > 6.5 durchspielen musst! ,-)

Und dann beachte PHP 7.4 hat fast EOL, gehe gleich auf 81 :slight_smile:

Grüße Brian

Und für composer mit php Memory Limit gibt es einen extra Befehl um dies auszuschließen, bin nur grad im Wochenende um dir den konkreten Befehl nennen zu können, irgendwas was mit php - Limit war das

Schon mal die Systemvorausetzungen eines 6.0.x Shops gechecht Server und Systemvoraussetzungen — OXID eShop 6 | Anwenderdokumentation

PHP Version 5.6 oder 7.0 werden vorausgesetzt.

Zusätzlich solltest drauf achten, dass dann auch ältere Composer Version also kleiner als 2 nutzt zur Installation.

Unter Ionsos solltest problemlos Composer nutzen können, ggfs. musst ein höheres Paket wählen damit die Einstellungen setzen kannst. Weiterführende Quellen:

Tipp: Selbst wenn das Memory Limit begrenzt, kannst das Composer Caching nutzen, indem den Composer Befehl solange wiederholst bis er durchläuft.

Das Hochschieben könnte möglicherweise problematisch sein, weil theoretisch sich die Pfade Lokal und auf dem Server unterscheiden. Daher ist es essenziell auch Composer auf seinem Server nutzen zu können.

Hmm aus der Erfahrung heraus würde ich dies auch skeptisch sehen, weil im Datenbank Dump stecken noch die Modulkonfigurationen. Bewährt hat sich ein zweistufiges Update

  1. Zuerst von 6.0.x auf 6.2.x um die Modulkonfiguration Updates mitzunehmen
  2. Sprung von 6.2.x auf 6.5.x

Hintergrund ist, dass der Sprung von 6.1.* auf 6.2.* eigentlich ein Major Update ist. OXID eSales hat dort die Versionsbezeichnung unglücklich verwendet. Eigentlich springt man von 6.1.* oder kleiner auf eine 7.* Version. Da die Änderungen so umfangreich sind.

Dies gleiche gilt eigentlich für den Sprung von 6.4.* auf 6.5.* dies wäre schon ein Major Update auf 8.* wenn wir unsere imaginäre Versionierung fortführen.

Auf PHP 8.0 oder PHP 8.1 würde ich erst umstellen, wenn der Shop bereits auf 6.5.* migriert ist. Die Update-Schritte mit PHP Version 7.4 durchführen und erst ab 6.5.* PHP Version hochschrauben plus Composer Update.

Du meinst die Datei “BackwardsCompatibilityAutoload.php”? Die sollte auch in vendor liegen und nicht in source. Schau doch mal rein in bootstrap.php wie die geladen wird. Eventuell hast du einen Ordner “Core” im Verzeichnis “source” der da nicht hingehört.

Ist kein Problem, Pfade sollten nur in tmp sein. Was auch geht: nur composer.json und composer.lock hochschieben, dann per ssh:

composer install --no-dev --no-scripts --optimize-autoloader
composer run-script post-update-cmd
1 Like