Freitag, 5. März 2010

Magento mit PHP 5.3

In PHP 5.3 hat sich wohl einiges geändert.

Damit Magento mit PHP 5.3 läuft muss ein wenig Code geändert werden.

Probleme verursacht die Methode __toString(array $arrAttributes = array(), $valueSeparator=',') in der Klasse Varien_Object.

Änderungen:
- Methode umbenennen in __invoke(array $arrAttributes = array(), $valueSeparator=',')
- Methode __call vor dem switch Block durch folgendes ergänzen:
if($method == "__toString"){
return call_user_func_array(array($this, "__invoke"), $args);
}

Da die Methode split in PHP 5.3 deprecated worden ist, muss sie durch explode ersetzt werden.

Dies kann einfach mit Suchen und Ersetzen erfolgen. Dazu einfach nach [LEERZEICHEN]split( suchen und es durch [LEERZEICHEN]explode( ersetzen.
Wichtig: vor split und explode muss ein Leerzeichen sein, sonst werden zu viele Methoden ersetzt.


Danach sollte Magento mit PHP 5.3 laufen.

Durch diese Änderung kann Magento auch in dem neuen Zend Server 5.0 laufen.

1 Kommentar: