我是一个认真的新手,因为它涉及Zend,我现在被迫与Zend 3合作(并学习它)。开发人员已经完成了部分应用程序,现在我正在克隆它。
我在错误日志中收到“未选择数据库” - 我已经设置了database.local.php,我认为他们已经设置了其他所有内容。证书是正确的。
我正在使用Windows。
在设置或数据库连接方面还有什么我可以遗漏的吗?
感谢。如果需要,我会提供任何其他信息。
答案 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\''
],
],