Menalto Gallery2: php-cgi beendet mit Segmentation Fault (Signal 11)

225 Wörter 2 Minuten Lesezeit

Das übliche Upgrade-Szenario - ein Update führt zum nächsten und am Ende sucht man Stunden lang die Lösung für unerklärliche Fehler. Das jüngste Beispiel: Upgrade von PHP 5.2 auf PHP 5.3.2, danach ging die Menalto Gallery 2.2 nicht mehr - für PHP 5.3.2 muss auf Gallery 2.3.1 aktualisiert werden.

Das Update der Gallery lief ganz gut an, und sogar über 2000 inzwischen unnötige Files konnten aus der Installation entfernt werden, aber wo es dann an das Aufräumen vom Cache ging gab es dann doch einen Internal Server Error. Nun, üblicherweise ist das kein Beinbruch, ein paar Optionen in einer .htaccess gedreht und es sollte wieder passen.

Leider war das Problem aber das sich das php-cgi mit einem signal 11 verabschiedet, also einem Segmentation Fault (ungültiger Zugriff auf nicht zugewiesene Speicherbereiche).

Wie sollte man sowas in den Griff bekommen, sinnlos mit gdb debuggen? Also wie immer Google angeworfen, die erste Lösung sogleich gefunden: die Zend Garbage Collection muss deaktiviert werden. Ein schnelles zend.enable_gc=Off in die php.ini geworfen brachte aber keinen Erfolg - also weiter suchen und weiter probieren, suchen und probieren, …

Die Lösung war schlußendlich dann eigentlich ganz trivial - die verwendete mysqli Engine durch mysql bzw. mysqlt ersetzen, und alles funktionierte wieder bestens. Die Option dafür findet sich übrigens in der config.php ;)

Hinweis: dieser Artikel ist ursprünglich auf dem IT-Blog “copy/paste” (www.copypaste.at) erschienen.