对不起,我是Zend Framework 2的全新新手,我正在尝试连接数据库连接,如下所示:
在中创建了一个文件 XAMPP \ htdocs中\ articlemanager \应用\ CONFIGS \自动加载\ global.php
将以下Zend DB连接代码插入global.php
<?php
return array(
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
'aliases' => array(
'db' => 'Zend\Db\Adapter\Adapter',
),
),
'db' => array(
'driver' => 'PDO_MYSQL',
'dsn' => 'mysql:dbname=articlemanager;host=localhost',
'username' => 'root',
'password' => '',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
);
并在Indexcontroller(\ xampp \ htdocs \ articlemanager \ application \ controllers \ IndexController.php)中测试了在indexAction中添加$this->db = $this->getServiceLocator()->get('db');
,如下所示
public function indexAction()
{
$this->db = $this->getServiceLocator()->get('db');
}
当我刷新页面时,它显示为
发生错误
申请错误
我能知道我在这里错过了什么吗?
此外,我想知道My Zend Library位于 xampp \ _htd \ _scn / \ _对于\ strong> xampp \ htdocs \ articlemanager \ application \ configs \ autoload中的 \ xampp \ php \ Zend 和My global.php文件\ global.php 可以吗?
答案 0 :(得分:1)
你为什么在&#39; Db&#39;上使用Alias? ?
试试这个,你的驱动程序名称与我的不同。
此外,请将您的用户名和密码移至local.php ..因此它们不会在Git项目中保留
<强> global.php 强>
<?php
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=articlemanager;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',
),
),
);
local.php示例
<?php
return array(
'db' => array(
'username' => 'DB_USERNAME',
'password' => 'DB_PASSWORD',
),
);
答案 1 :(得分:0)
数据库连接问题可能是许多不同的问题,通过查看creds / db配置信息不一定显而易见。
你看过任何日志吗?我的应用程序有几个不同的日志设置 - PHP错误,访问日志,mysql错误日志等 - 根据您的应用程序,您可能没有这么多的离散定义,但检查您所拥有的任何日志将给你更多信息不仅仅是“发生错误”:)