PHP Parse error: syntax error, unexpected '|', expecting '{'

Hey,

habe versucht heute mal Shopware 6 aufzusetzen und nach dem aufrufen der Installations PHP Datei, hat meine Seite foldenen Error ausgeworfen:

Stacktrace:
PHP Parse error:  syntax error, unexpected '|', expecting '{' in /home/users/splicho2/www/shop2/shopware-installer.phar.php on line 49

PHP Version ist momentan auf 8.1 und mein Webserver ist integriert in Keyhelp.
Weiß einer woran das liegt?

Wurde die Datei vollständig heruntergeladen? Ansonsten müsstest du Zeile 49 rauskopieren und hier posten, damit man den Fehler eingrenzen kann.

Ich schätze mal diese Zeile.

function rewrites(): bool|string

Hey.

Die Datei wurde vollständig heruntergeladen, ja.

function rewrites(): bool|string

Ist die Zeile worum es geht.

Hab es mal Lokal probiert mit Laragon, da komme ich bis zu dem Fenster mit den „Systemanforderungen“.

Also ich habe keine Ahnung woran das liegen kann… Die Bedinigungen sind nahezu gleich.

  • Selbe PHP Version
  • Alle extensions enabled
  • Apache Webserver…

Der einzige große Unterschied hierbei, das Betriebssystem.

Der Fehler wird durch das | geworfen. Das ist ein recht eindeutiger Hinweis, dass die PHP Version, mit der die Datei ausgeführt wird, nicht PHP8.1 oder höher entspricht. Auf der CLI ggfs. eine ältere Version installiert?

Ich bin mir ziemlich sicher, dass 8.1 benutzt wird. Hier der Domain Eintrag mit der entsprechenden PHP Version.

Siehe PHPInfo: PHP 8.1.20 - phpinfo()

Wenn du den Installer auf deinem Server mit PHP 8.1 ausführst, dann bekommst du folgende Fehlermeldung:

shopware/core v6.5.4.0 requires ext-zip * → it is missing from your system. Install or enable PHP’s zip extension.

Sehr wahrscheinlich werden noch weitere PHP Extensions fehlen.

Schau dir doch lieber noch einmal die Systemanforderungen für Shopware an, damit keine „Folgefehler“ nach der Installation auftreten.

Hey, vielen dank für deine Nachricht.

Habe jetzt PHP-Zip mit apt install php-zip installiert und bekomme immer noch die selbe Meldung mit dem syntax error. Zip Extension ist auch enabled in der PHP ini.

Die Fehlermeldung „shopware/core v6.5.4.0 requires ext-zip * → it is missing from your system. Install or enable PHP’s zip extension.“, habe ich bisher auch noch gar nicht bekommen.

Ich weiß echt nicht mehr weiter…

Hast du Apache danach neu gestartet? Hast du den Befehl exakt so eingegeben, falls ja, dann hast du für php8.2 bzw. 8.3 und nicht für php8.1 die Extension installiert.

Vielleicht solltest du einfach ein paar Euro in die Hand nehmen und jemand deinen Server einrichten und Shopware installieren lassen, der das täglich macht.

1 „Gefällt mir“

Anscheinend ist dein PHP nicht wirklich gut konfiguriert, wirft auch einige Fehler.

PHP Warning: PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/zip.so' (tried: /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/zip.so (libzip.so.5: cannot open shared object file: No such file or directory), /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/zip.so.so (/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/zip.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Ok, das problem lag daran, dass ich den falschen php binary Pfad angegeben hab.
Jetzt bekomm ich aber folgenden Error:

sh: 1: exec: /opt/keyhelp/php/8.2/bin/: Permission denied

Pfad had 777 Rechte und owner ist root.

keyhelp-php82 ist die korrekte Variable