Hallo zusammen
Ich möchte auf einem frisch installierten Ubuntu 22.04 mit PHP 8.2 via Shopware Installer (shopware-installer.phar.php) die aktuell neuesten Version (6.5.7.3) installieren.
Leider läuft das in einen Fehler.
PHP Parse error: syntax error, unexpected ‘|’, expecting ‘{’
Hinweis dazu:
Ja, der von dir beschriebene Fehler tritt in PHP 8.2 aufgrund einer Änderung in der Handhabung von Union Types auf. In PHP 8.0 und 8.1 ist die Syntax `function rewrites(): bool|string` gültig und bedeutet, dass die Funktion entweder einen `bool` oder einen `string` zurückgibt.
In PHP 8.2 wurde jedoch eine neue Syntax für Union Types eingeführt, die sogenannte "Intersection Types". Das bedeutet, dass das Pipe-Symbol (`|`) in einigen Kontexten anders interpretiert werden kann, was zu Syntaxfehlern führen kann, wenn der Code nicht entsprechend angepasst wird.
Um diesen Fehler zu beheben, solltest du überprüfen, ob deine Shopware-Version mit PHP 8.2 kompatibel ist. Wenn das nicht der Fall ist, kannst du entweder auf eine kompatible PHP-Version (wie 8.0 oder 8.1) herunterstufen oder auf eine neuere Shopware-Version aktualisieren, die mit PHP 8.2 kompatibel ist.
Laut Shopware Systemvoraussetzungen:
Sollte eigentlich PHP 8.1 und höhere funktionieren.
Wie geschrieben ist es mit der 8.2 gar nicht möglich, da die Syntax in PHP 8.2 fehlerhaft ist.
Dann also mit 8.1 versucht.
Fehlermeldung:
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version „>= 8.2.0“. You are running 8.1.26
Wenn jemand Lösungsansätze hat, dann gibt es ein Weihnachtsgeschenk von mir.
Forum und Google lieferten keine relevanten Ansätze, die hätten zur Lösung führen können.
Gruß
Tom