Fehler Semaphore extension (sysvsem)

Hallo,

wir haben ein massives Problem mit Shopware ab Version 6.4.3.0 und MAMP Pro. Aller Versionen bisher haben keine unüblichen Fehlermeldungen gegeben, ab Version 6.4.3.0 kommt folgenden Fehlermeldung im Frontend:

The controller for URI „/widgets/checkout/info“ is not callable: Semaphore extension (sysvsem) is required.

Eine Anmeldung im Backend ist nicht mehr möglich.

Die Semaphore Extension ist nach phpinfo() vorhanden: System V Semaphores Tom May.

Auch eine neue Installation von Shopware ohne Plugins und ein Update von Mamp Pro haben nichts gebracht.

Hat jemand ein ähnliches Problem oder hat eine Idee für eine Lösung?

Danke.

Ich habe die Developer als auch die Production unter MAMP Pro laufen, ohne Probleme.

Dass die Anmeldung im Backend nicht mehr möglich ist, obwohl der Fehler im Frontend auftritt ist mehr als ungewöhnlich. In der error.log mal nachsehen. Das kann nicht das einzige Problem sein.

Erstmal Danke für die Antwort.

Die Error Log hat einige Info Meldungen (Cache, Request,Deprecated) und eine CRITICAL:

[2021-10-19T12:01:30.447529+00:00] request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "The controller for URI "/widgets/checkout/info" is not callable: Semaphore extension (sysvsem) is required." at /Users/lucaspopp/Sites/localhost/site/vendor/symfony/http-kernel/Controller/ControllerResolver.php line 88 {"exception":"[object] (InvalidArgumentException(code: 0): The controller for URI \"/widgets/checkout/info\" is not callable: Semaphore extension (sysvsem) is required. at /Users/lucaspopp/Sites/localhost/site/vendor/symfony/http-kernel/Controller/ControllerResolver.php:88)\n[previous exception] [object] (Symfony\\Component\\Lock\\Exception\\InvalidArgumentException(code: 0): Semaphore extension (sysvsem) is required. at /Users/lucaspopp/Sites/localhost/site/vendor/symfony/lock/Store/SemaphoreStore.php:39)"} []

Im Backend wird lediglich ein anderer Controller genutzt:

The controller for URI "/api/oauth/token" is not callable: Semaphore extension (sysvsem) is required.

Welche Versionen von Mamp Pro und Shopware nutzt du?

Mama Pro 6.6, PHP 8, Standard-Einstellungen

Shopware die aktuellen Versionen. Die älteren liefen aber auch alle.

Gibt es dazu mittlerweile etwas Neues? Ich habe das Problem bei einer meiner Shopware-Instanzen auch. Als ich es das erste Mal hatte, habe ich einfach von PHP 7.4 auf PHP 8.0.8 in MAMP gewechselt und das Problem war behoben. Nun bin ich aber bereits auf PHP 8 und das Problem besteht weiterhin. Eine Suche nach dem Fehler führt leider immer nur wieder auf diesen Thread.

Hallo,

die Umstellung der PHP Version war auch bei mir eine erste und leider nur kurzfristige Lösung. Letztlich haben wir ein Bundle an Maßnahmen durchgeführt.

  1. Mamp neu installiert
  2. Extension aktiviert MAMP → Settings → PHP Enable other Extension
  3. Shopware neu installiert (aktuellere Version)
  4. Composer Update
  5. System PHP aktualisiert

Auch wenn das jetzt wenig professionell ist aber irgendwo auf diesem Weg habe ich was richtig gemacht. Nach dem Neustart des Systems gab es bis jetzt keine Probleme mehr.

Die Lösung bei mir war, das Package einfach über Composer zu laden:
composer require symfony/semaphore

1 „Gefällt mir“

Gibt es schon eine Alternativlösung zu diesem Problem, da ich schon alles aus diesem Thread probiert habe, das aber nur kurzfristige Lösungen waren? Eine Suche nach dem Fehler bringt mich leider immer nur wieder auf diesen Thread zurück.

Push, bei mir die selbe Problematik & Umgebung.

Das Problem trat bei einem unserer Entwickler kürzlich wieder auf. Er konnte es mit composer require symfony/semaphore beheben.

Falls hier jemand noch Probleme mit Shopware 6, MAMP und der sysvsem Extension hat, die auch nicht mit composer require symfony/semaphore behoben werden können:

Datei config/packages/dev/lock.yaml erstellen und eintragen:

framework:
lock: ‚flock‘

Damit werden flocks statt semaphoren benutzt. Sollte für lokale Entwicklung ausreichen.

1 „Gefällt mir“

Hallo,
hatte das gleich Problem mit der Fehlermeldung „[critical] Uncaught Exception: Semaphore extension (sysvsem) is required.“ nach der Umstellung von PHP 7.4 auf 8.2 was zum 500 Servererror führte.

Im Dev-Modus lief es, als Prod nicht. Hab es ein paar mal geswitcht und über die CLI den Cache gelöscht. Hier drauf achten dass die CLI PHP Version die gleiche ist, in meinem fall PHP 8.2. Danach ging es, ohne Semaphore zu installieren.

SW 6.4.20.2
Vielleicht hilft es jemandem…