Published: March 31, 2021
Last updated:

OpenMage :: unserialize() expects exactly 1 parameter, 2 given in app/code/core/Mage/Core/Model/Cache.php on line 503

The following exception is printed after upgrade to OpenMage:

Warning: unserialize() expects exactly 1 parameter, 2 given  in app/code/core/Mage/Core/Model/Cache.php on line 503

#0 [internal function]: mageCoreErrorHandler(2, 'unserialize() e...', 'app/co...', 503, Array)
#1 app/code/core/Mage/Core/Model/Cache.php(503): unserialize('a:8:{s:10:"bloc...', Array)
#2 app/code/core/Mage/Core/Model/Cache.php(537): Mage_Core_Model_Cache->_initOptions()
#3 app/code/core/Mage/Core/Model/App.php(1240): Mage_Core_Model_Cache->canUse('config')
#4 app/code/core/Mage/Core/Model/Config.php(425): Mage_Core_Model_App->useCache('config')
#5 app/code/core/Mage/Core/Model/Config.php(305): Mage_Core_Model_Config->_canUseCacheForInit()
#6 app/code/core/Mage/Core/Model/App.php(440): Mage_Core_Model_Config->loadModulesCache()
#7 app/code/core/Mage/Core/Model/App.php(370): Mage_Core_Model_App->_initModules()
#8 app/Mage.php(731): Mage_Core_Model_App->run(Array)
#9 index.php(78): Mage::run('', 'store')
#10 {main}
Other similar errors may be thrown from app/code/core/Mage/Core/Model/Store.php or app/code/core/Mage/Core/Model/Translate.php:

Warning: unserialize() expects exactly 1 parameter, 2 given  in app/code/core/Mage/Core/Model/Store.php on line 418
unserialize() expects exactly 1 parameter, 2 given  in app/code/core/Mage/Core/Model/Translate.php on line 538


Cause

The reason is commit cf25b8a24819a7e8b4e48653f5f57026414dde4a which introduced PHP5.6 incompatible changes. This commit was merged into 1.9.4.x tree in December 2020 and included in OpenMage v19.4.9 release.

Solution

Switch your PHP version to PHP 7.3+ (PHP7.0 is minimal version and PHP7.3 is current recommended version) prior to OpenMage upgrade.

If changing PHP version is not possible due to some reason you can temporarily revert the patch to let store run with PHP5.6 and re-apply it back when PHP/OS upgrade issues are sorted out.

Note, there were a few other PHP5.6 incompatible changes in OpenMage 1.9.4.x tree. There is a php56-compat fork with up-to-date changes merged with mainstream 1.9.4.x tree.



Posted in: Fatal errors

6 votes, 3.33 avg. rating (67% score)