Symfony 2没有加载数据库配置文件

时间:2015-08-04 05:39:38

标签: php symfony heroku doctrine-orm doctrine

我是symfony的新手,我跟着heroku作为主机跟随这本书,我试图用doctrine将对象刷新到数据库,但是我得到了以下错误:

  

[2015-08-04 05:23:58] request.CRITICAL:未捕获PHP异常   PDOException:" SQLSTATE [08006] [7]无法连接到服务器:   连接被拒绝服务器是否在主机上运行" 127.0.0.1"和   接受端口5432上的TCP / IP连接?"在   /app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php   第40行{"例外":" [对象](PDOException(代码:7):SQLSTATE [08006]   [7]无法连接到服务器:连接被拒绝\ n \ t是服务器   在主机上运行\" 127.0.0.1 \"并接受\ n \ tTCP / IP连接   5432港口?在   /app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:40)"}   []

我的配置文件正常工作(我猜):

 parameters.yml
 database_host: host....
 database_port: 5432
 database_name: ddas1mq8intjqt
 database_user: ymmpjzoqbyokbr
 database_password: password.....
 mailer_transport: smtp
 mailer_host: 127.0.0.1
 mailer_user: null
 mailer_password: null
 secret: ThisTokenIsNotSoSecretChangeIt

和我的config.yml:

doctrine:
    dbal:
        driver:   pdo_pgsql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8

我已经运行了控制台命令来从实体类创建表并且它有效,但是创建一个对象并且->flush似乎是问题...不知道它是否是某个服务器配置或我做错了什么。

谢谢

1 个答案:

答案 0 :(得分:1)

如果console命令有效,则可能是由应用程序缓存引起的,特别是如果您在prod环境中运行它并且最近更改了数据库凭据。尝试清除正在使用的环境的缓存(dev的第一个命令,prod的第二个命令)并再次运行应用程序。

php app/console cache:clear
php app/console cache:clear -e prod

我在错误消息中看到您使用了'127.0.0.1',您是否尝试输入'localhost'?我在共享虚拟主机上遇到了类似的问题。