在Zend 3中设置数据库参数

时间:2018-03-08 14:27:08

标签: mysql zend-framework3

我是一个认真的新手,因为它涉及Zend,我现在被迫与Zend 3合作(并学习它)。开发人员已经完成了部分应用程序,现在我正在克隆它。

我在错误日志中收到“未选择数据库” - 我已经设置了database.local.php,我认为他们已经设置了其他所有内容。证书是正确的。

我正在使用Windows。

在设置或数据库连接方面还有什么我可以遗漏的吗?

感谢。如果需要,我会提供任何其他信息。

1 个答案:

答案 0 :(得分:0)

由于我们正在处理Zend Framework AND 配置问题,对于您的下一个问题,请确保还包含文件路径等。

我假设您已在此处创建了您的文件,我将继续此答案:/config/database.local.php

注意:我自己使用ZF3,当然,我试图找到您的错误消息"未选择数据库"但是它返回时没有结果。确保复制并粘贴错误消息,以便任何框架,cms或其他系统的用户可以更轻松地帮助您。

您将在application.config.php文件中找到您所面临的问题(在/config文件夹中。在此处您将找到以下配置:

// Retrieve list of modules used in this application.
'modules' => require __DIR__ . '/modules.config.php',

// These are various options for the listeners attached to the ModuleManager
'module_listener_options' => [
    // ... other config

    // An array of paths from which to glob configuration files after
    // modules are loaded. These effectively override configuration
    // provided by modules themselves. Paths may use GLOB_BRACE notation.
    'config_glob_paths' => [
        realpath(__DIR__) . '/autoload/{{,*.}global,{,*.}local,{,*.}deploy,{,*.}development}.php',
    ],
    // ... other config
],

任何*.local.php*.global.php配置文件都应放在/config/autoload/中。但是,如果你修改上面的配置,你可以在技术上把它放在你想要的任何地方。

接下来,确保在配置中启用了Zend\Db模块。打开/config/modules.config.php文件,确保Zend\Db在要加载的Zend模块列表中。

最后,您还没有提供您使用的配置,因此我假设您在那里犯了错误。在/config/autoload/database.local.php文件中使用类似下面的配置。从技术上讲,你可以分为2个文件;全局和本地文件。本地文件(/ should)不会被提交到版本控制历史记录中,因此可以包含用户名和密码。任何其他配置,例如Pdo使用driver都可以进入全局配置。

'db' => [
    'driver' => 'Pdo',
    'dsn' => 'mysql:dbname=zf3;hostname=localhost',
    'username' => 'root', 
    'password' => 'root', 
    'driver_options' => [
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
    ],
],
相关问题