We got this project when our server is newly loaded with PHP 5.3.
Here is the Fix:
To get it working in php5.3 seems to be quite simple as the offending part of the __toString function seems to be only used by one object:
app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php which calls the function with the defaults anyway.
in /lib/Varien/Object.php line 484 replace:
public function __toString(array $arrAttributes = array(), $valueSeparator=',') { $arrData = $this->toArray($arrAttributes); return implode($valueSeparator, $arrData); }
with
public function __toString() { $arrData = $this->toArray(); return implode(',', $arrData); }
You also need to change app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php line 139 (untested) to:
$key.= implode('_', $taxReq->_data);
The next thing to contend with is that split() is now depricated and there is a new error constant which Magento does not (yet) recognise. To ignore the error edit the file app/code/core/Mage/Core/functions.php after line 170 add :
if ($errno == 8192) { return false; }
You’ll also need to ensure that index.php has the line:
ini_set(’display_errors’, 0);
Don’t know if any other issues arise but this has got it setup for me and so I can carry on evaluating whether we use this or not.
You can find a clear details in the following posts.
http://www.magentocommerce.com/boards/viewthread/29670/ (Solution is taken from this).
http://www.magentocommerce.com/boards/appserv/main.php/viewthread/18080/#t162945