[英]Database could not connect to Zend Framework
很抱歉,我對Zend Framework 2完全陌生,提供了一些教程,我嘗試按如下方式連接數據庫連接,
在 xampp \\ htdocs \\ articlemanager \\ application \\ configs \\ autoload \\ 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)中測試添加$this->db = $this->getServiceLocator()->get('db');
在indexAction中如下
public function indexAction()
{
$this->db = $this->getServiceLocator()->get('db');
}
當我刷新頁面時,它顯示為
發生錯誤
應用程序錯誤
我能知道我在這里錯過了什么嗎?
我也想知道我的Zend庫在\\ xampp \\ php \\ Zend中,而我的global.php文件在xampp \\ htdocs \\ articlemanager \\ application \\ configs \\ autoload \\ global.php中嗎?
為什么在'Db'上使用別名?
試試這個,您的驅動程序名稱與我的不同。
另外,請將您的用戶名和密碼移至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',
),
);
數據庫連接問題可能是許多不同的問題,這些問題在查看creds / db config信息時不一定很明顯。
您是否看過任何日志? 我的應用程序有幾種不同的日志設置-PHP錯誤,訪問日志,mysql錯誤日志等-根據您的應用程序,您可能沒有那么多的離散定義,但是檢查您確實有的日志將為您提供更多幫助信息不僅僅是“發生了錯誤” :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.