Symfony2:postgres数据库访问被拒绝


Symfony2: postgres database access denied

我开始学习Symfony2,我想使用Doctrine在我的postgres数据库中创建表。我安装了postgres并遵循以下步骤:

sudo -i -u postgres

我创建了一个名为test并键入superuser的用户createuser --interactive

createdb test

我用密码测试创建了用户测试

adduser test

symfony2中的parameters.yml如下所示:

parameters: database_driver: pdo_pgsql database_host: 127.0.0.1 database_port: null database_name: test database_user: test database_password: test mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null 我也有这样的实体:

<?php
namespace AppBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
 /**
 * @ORM'Entity
 * @ORM'Table(name="product")
 */
class Product
{
    /**
     * @ORM'Column(type="integer")
     * @ORM'Id
     * @ORM'GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /**
     * @ORM'Column(type="string", length=100)
     */
    protected $name;
    /**
     * @ORM'Column(type="decimal", scale=2)
     */
    protected $price;
    /**
     * @ORM'Column(type="text")
     */
    protected $description;
}

然后我在终端中键入了这个赞扬:

php app/console doctrine:generate:entities AppBundle

我收到了这个警告:

[Doctrine'DBAL'Exception'ConnectionException]                                
  An exception occured in driver: SQLSTATE[28000] [1045] Access denied for us  
  er 'test'@'localhost' (using password: YES)                                  

  [Doctrine'DBAL'Driver'PDOException]                                          
  SQLSTATE[28000] [1045] Access denied for user 'test'@'localhost' (using pas  
  sword: YES)                                                                  

  [PDOException]                                                               
  SQLSTATE[28000] [1045] Access denied for user 'test'@'localhost' (using pas  
  sword: YES)  

我能做些什么来解决这个问题?

编辑:

我意识到我连接到了mysql数据库,我不知道为什么。我该如何更改?

我们的一个开发人员上周遇到了这个问题。

你的parameters.yml看起来不错,但如果你有"标准"的config.yml,它不会指定database_driver

#app/config/config.yml
[...]
# Doctrine Configuration
doctrine:
    dbal:
        driver:   "%database_driver%" # <---- Add this line ;)
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
[...]