Nach der Veröffentlichung der neuen Ubuntu Version (ich nutze Kubuntu) habe ich meinen Arbeitsrechner zuhause auf die neue Version aktualisiert.

Leider liefen meine Magento Shops in der lokalen Umgebung nicht mehr durch. Dies liegt vor allem ein zwei Dingen…

  1. Die Funktionen json_encode und json_decode werden nicht mehr mit PHP gebündelt. Dies liegt an einer Lizenzproblematik auf die ich jetzt nicht weiter eingehen möchte.

  2. Mcrypt wurde nicht mehr geladen.

Wird ein Produkt in den Warenkorb gelegt, erscheint die folgende Meldung:

Notice: Use of undefined constant MCRYPT_MODE_ECB - assumed 'MCRYPT_MODE_ECB'

Eine kurzer Aufruf von n98-magerun.phar sys:check zeigte mir dann diesen Output:

  Check: PHP  


Required PHP Module simplexml found.
Required PHP Module mcrypt not found!
Required PHP Module hash found.
Required PHP Module gd found.
Required PHP Module dom found.
Required PHP Module iconv found.
Required PHP Module curl found.
Required PHP Module soap found.
Required PHP Module pdo found.
Required PHP Module pdo_mysql found.
Bytecode Cache apc found.

Als hier konnte ich zumindest feststellen, dass mcrypt nicht mehr geladen wurde.

Hier die Lösungen für beide Probleme:

JSON Funktionen

Diese können über ein alternatives PECL Modul nachinstalliert werden.

pecl install jsonc

Ubuntu hat inzwischen ein Paket bereitgestellt:

apt-get install php5-json

mcrypt Modul

Auf Stackoverflow habe ich eine kurze Anleitung gefunden, die bei mir direkt funktionierte.

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
sudo php5enmod mcrypt
sudo service apache2 restart

Man beachte die neuen php5enmod und php5dismod* Befehle die Analog zu den bereits für Apache vorhanden Befehlen eingeführt wurden. Damit lässt sich praktisch ein PHP Modul aktivieren und deaktivieren (auch für bestimmte SAPIs).

Ich hoffe ich konnte mit der kleinen Anleitung ein bisschen helfen…