ZF 2: aplicación tutorial, ‘La configuración que se fusiona debe ser una matriz ‘

Mi entorno (Servidor Zend):

PHP Version 5.4.11 Zend Server Version: 6.0.1 Zend Framework: 1.12.3, 2.1.4 Zend Server Gateway: 0.9.0.201301302347 Build: 69400 

Así que traté de escribir mi primera aplicación en ZF2 desde el tutorial oficial.

Versión de ZF en la aplicación de esqueleto: 2.2

Este es un enlace a mi proyecto , si alguien quiere verlo más de cerca.

config/module.config.php

  array( 'invokables' => array( 'Album\Controller\Album' => 'Album\Controller\AlbumController', ), ), 'view_manager' => array( 'template_path_stack' => array( 'album' => __DIR__ . '/../view', ), ), ); 

module\Album\Module.php

  array( __DIR__ . '/autoload_classmap.php', ), 'Zend\Loader\StandardAutoloader' => array( 'namespaces' => array( __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, ), ), ); } public function getConfig() { return include __DIR__ . '/config/module.config.php'; } } 

Y este es mi error:

 Zend\ModuleManager\Listener\Exception\InvalidArgumentException: Config being merged must be an array, implement the Traversable interface, or be an instance of Zend\Config\Config. integer given. in F:\Zend\Apache2\htdocs\learnzf2\vendor\zendframework\zendframework\library\Zend\ModuleManager\Listener\ConfigListener.php on line 317 Call Stack # Time Memory Function Location 1 1.0510 137456 {main}( ) ..\index.php:0 2 1.0986 163240 Zend\Mvc\Application::init( ) ..\index.php:18 3 1.2171 345520 Zend\ModuleManager\ModuleManager->loadModules( ) ..\Application.php:253 4 1.2171 345680 Zend\EventManager\EventManager->trigger( ) ..\ModuleManager.php:109 5 1.2171 345936 Zend\EventManager\EventManager->triggerListeners( ) ..\EventManager.php:207 6 1.2195 354296 call_user_func ( ) ..\EventManager.php:468 7 1.2195 354312 Zend\ModuleManager\ModuleManager->onLoadModules( ) ..\EventManager.php:468 8 1.2371 383920 Zend\ModuleManager\ModuleManager->loadModule( ) ..\ModuleManager.php:90 9 1.2390 384984 Zend\EventManager\EventManager->trigger( ) ..\ModuleManager.php:154 10 1.2391 385016 Zend\EventManager\EventManager->triggerListeners( ) ..\EventManager.php:207 11 1.2431 391096 call_user_func ( ) ..\EventManager.php:468 12 1.2431 391112 Zend\ModuleManager\Listener\ConfigListener->onLoadModule( ) ..\EventManager.php:468 13 1.2439 391464 Zend\ModuleManager\Listener\ConfigListener->addConfig( ) ..\ConfigListener.php:127 

What is problem with it? Intenté depurarlo pero no sé cuál es el problema con mi código, excepto que es int value incluso devuelvo array en config/module.config.php .

PD. Eariler, no usé Xdebug (+ PHPStorm), y cuando, por ejemplo, puse breakpoint en algún lugar de config/module.config.php , se salta este punto de interrupción y entra (ni siquiera se muestra) y va a los archivos de la biblioteca ZF (donde, por ejemplo, es otro punto de interrupción). ¿Es normal o estoy haciendo algo mal?

    Su module/Album/config/module.config.php está vacío, mientras que debe devolver una matriz de configuración (como en el código de ejemplo que ha publicado).

    Tuve el mismo problema cuando estaba a punto de crear un nuevo módulo después de un tiempo. Tenía otros módulos que ya estaban funcionando pero este otro daba el error que tienes ahora. En mi búsqueda, me di cuenta de que escribí:

     public function getConfig() { return __DIR__ . '/config/module.config.php'; } 

    en lugar de:

     public function getConfig() { return include __DIR__ . '/config/module.config.php'; } 

    en mi archivo Module.php. ¡Después de corregirlo, mi aplicación funciona muy bien! Mire cuidadosamente su código, especialmente en los archivos Module.php y module.config.php para ver si hay omisiones, etc. ¡Buena suerte!