我是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
似乎是问题...不知道它是否是某个服务器配置或我做错了什么。
谢谢
答案 0 :(得分:1)
如果console命令有效,则可能是由应用程序缓存引起的,特别是如果您在prod环境中运行它并且最近更改了数据库凭据。尝试清除正在使用的环境的缓存(dev的第一个命令,prod的第二个命令)并再次运行应用程序。
php app/console cache:clear
php app/console cache:clear -e prod
我在错误消息中看到您使用了'127.0.0.1',您是否尝试输入'localhost'?我在共享虚拟主机上遇到了类似的问题。