zend-developer-tools
zend-developer-tools copied to clipboard
Uncaught exception 'Exception' with message 'Serialization of 'Closure' is not allowed'
in the application config ,i have a route its type is 'Zend\Mvc\Router\Http\Chain', this type need a parameter 'route_plugins', so i new it in the application config. but in the \Zend\Mvc\Router\RoutePluginManager, the initializer propery store some closures. so when the application config is serialized, the error happend.
i think we need a method named makeObjectProperySerializable in the class Collector\ConfigCollector
@h3110w0r1d do you have a stack trace for this? But yeah, we may need some clever way of replacing those unserializable instances.
Stack trace:
#0 /home/ethantsien/project/www/h3110w0r1d.com/vendor/zendframework/zend-developer-tools/src/ZendDeveloperTools/Collector/ConfigCollector.php(94): serialize(Array)
#1 [internal function]: ZendDeveloperTools\Collector\ConfigCollector->serialize()
#2 /home/ethantsien/project/www/h3110w0r1d.com/vendor/zendframework/zend-developer-tools/src/ZendDeveloperTools/Profiler.php(213): serialize(Object(ZendDeveloperTools\Collector\ConfigCollector))
#3 /home/ethantsien/project/www/h3110w0r1d.com/vendor/zendframework/zend-developer-tools/src/ZendDeveloperTools/Listener/ProfilerListener.php(107): ZendDeveloperTools\Profiler->collect(Object(Zend\Mvc\MvcEvent))
#4 [internal function]: ZendDeveloperTools\Listener\ProfilerListener->onFinish(Object(Zend\Mvc\MvcEvent)) #5 /home/ethantsien in /home/ethantsien/project/www/h3110w0r1d.com/vendor/zendframework/zend-developer-tools/src/ZendDeveloperTools/Collector/ConfigCollector.php on line 94
i am sure that the line ''route_plugins' => new RoutePluginManager(),' in the config below cause this error
return array(
'router' => array(
'routes' => array(
'passport' => array(
'type' => 'chain',
'options' => array(
'routes' => array(
'hostname' => array(
'type' => 'Zend\Mvc\Router\Http\Hostname',
'options' => array(
'route' => PASSPORT_HOSTNAME,
'defaults' => array(
'__NAMESPACE__' => 'Passport\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
),
'scheme' => array(
'type' => 'Zend\Mvc\Router\Http\Scheme',
'options' => array(
'scheme' => 'http',
),
),
),
'route_plugins' => new RoutePluginManager(),
),
'may_terminate' => true,
'child_routes' => array(
'home' => array(
'type' => 'literal',
'options' => array(
'route' => '/',
),
),
'register' => array(
'type' => 'literal',
'options' => array(
'route' => '/register',
'defaults' => array(
'action' => 'register',
),
),
),
'login' => array(
'type' => 'literal',
'options' => array(
'route' => '/login',
'defaults' => array(
'action' => 'login',
),
),
),
'logout' => array(
'type' => 'literal',
'options' => array(
'route' => '/logout',
'defaults' => array(
'action' => 'logout',
),
),
),
),
),
),
),
);
@h3110w0r1d yeah, I have something in RoaveDeveloperTools which may be backported here, see https://github.com/Roave/RoaveDeveloperTools/blob/424285eb861c9df7891ce7c6e66a21756eecd81c/src/Roave/DeveloperTools/Stub/SerializableValueStub.php#L44
thanks 2014年5月28日 下午8:11于 "Marco Pivetta" [email protected]写道:
@h3110w0r1d https://github.com/h3110w0r1d yeah, I have something in RoaveDeveloperTools which may be backported here, see https://github.com/Roave/RoaveDeveloperTools/blob/424285eb861c9df7891ce7c6e66a21756eecd81c/src/Roave/DeveloperTools/Stub/SerializableValueStub.php#L44
— Reply to this email directly or view it on GitHubhttps://github.com/zendframework/ZendDeveloperTools/issues/153#issuecomment-44398163 .
Still an issue.
a very annoying one
This repository has been closed and moved to laminas/laminas-developer-tools; a new issue has been opened at https://github.com/laminas/laminas-developer-tools/issues/14.