Php ZF2链接到数据库时出现问题

Php ZF2链接到数据库时出现问题,php,zend-framework,zend-framework2,zend-db,Php,Zend Framework,Zend Framework2,Zend Db,首先是一点介绍。我正在使用wamp和ZF骨架应用程序: www\firstApplication 因此,我浏览了ZF网站的第一个教程应用程序。这包括模块相册,因此浏览器通过以下路径将其导入: http://localhost/firstApplication/public/album 我有一个 Zend\Db\Adapter\Exception\InvalidQueryException 说这个 Statement could not be executed (42S02 - 1146 -

首先是一点介绍。我正在使用wamp和ZF骨架应用程序:

www\firstApplication
因此,我浏览了ZF网站的第一个教程应用程序。这包括模块相册,因此浏览器通过以下路径将其导入:

http://localhost/firstApplication/public/album
我有一个

Zend\Db\Adapter\Exception\InvalidQueryException
说这个

Statement could not be executed (42S02 - 1146 - Table 'blog.album' doesn't exist)
图坦卡蒙还包括对

config\autoload\global.php
其中包含以下代码:

 'db' => array(
     'driver'         => 'Pdo',
     'username'       => 'root',  //edit this
     'password'       => '',  //edit this
     'dsn'            => 'mysql:dbname=zf2tutorial;host=localhost',
     'driver_options' => array(
         PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
        ),
     ),

  'service_manager' => array(
     'factories' => array(
         'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
     ),
 ),
在我学习了第二个深入教程之后,这是一个问题,因为设置当然是全局的,所以我对它进行了评论

该模块具有以下结构:

module/
    Album/
        config/
            module.config.php
        src/
            Album/
                Controller/
                    AlbumController.php
                Form/
                    AlbumForm.php
                Model/
                    Album.php
                    AlbumTable.php
        view/
            album/
                album/
                    add.phtml
                    delete.phtml
                    edit.phtml
                    index.phtml
        autoload_classmap.php
        Module.php
我把上面的设置放在module.config.php中,它导致了blog数据库的异常,我在另一个名为blog的模块(深入图坦卡蒙的)中看到了这个异常

所以我检查了global.php和local.php(在同一个文件夹中)。没有数据库引用

我还检查了模块中的所有文件。自动加载的_classmap.php为空。我也试过把它放在那里,但还是一样的错误

因此,我不知道在哪里搜索数据库引用,这将导致另一个模块。我的最后一个想法是,它必须使用Module.php中的以下方法进行操作:

public function getAutoloaderConfig()
 {
     return array(
         'Zend\Loader\ClassMapAutoloader' => array(
             __DIR__ . '/autoload_classmap.php',
         ),
         'Zend\Loader\StandardAutoloader' => array(
             'namespaces' => array(
                 __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
             ),
         ),
}
在本教程中,作者写道: “Zend Framework 2的ModuleManager合并每个模块的module.config.php文件中的所有配置,然后合并到config/autoload(*.global.php和*.local.php文件中的文件中。”

但是global.php和local.php是emtpy,其中绝对没有任何内容


非常感谢您的帮助。

您所说的“指向另一个模块的数据库引用”是什么意思?你认为是什么导致了你的错误?错误表明数据库中的
相册
表不存在。它应该通过教程的以下步骤创建:我编辑它。在问题中,我从另一个模块复制了配置。现在,你可以看到现在有提到“博客”。只提及“ZF2tuorial”。好的,明白了。那么是哪个URL给了您这个错误,您确定该URL将您带到正确的应用程序吗?此外,您的项目中是否有任何与缓存相关的文件夹?1。这个URL就是上面的那个:是的,我确信这个URL把我带到了正确的应用程序:并且工作正常。2.我用composer创建的框架应用程序中有一个文件夹:data\cache with.gitignore。或者可能还有另一个文件夹?什么是“缓存相关文件夹”?就像我说的,当我在另一个模块中更改mysql:dbname时,它会工作,所以必须引用这个module.config.php