簡體   English   中英

數據庫無法連接到Zend Framework

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM