从Symfony2中的parameters.yml中跳过选项

时间:2013-11-18 15:38:11

标签: symfony

我使用Symfony2创建了应用程序并设置了参数:

parameters:
    database_driver:   pdo_mysql
    database_host:     127.0.0.1
    database_port:     ~
    database_name:     database_example_name
    database_user:     example_username
    database_password: ****

当应用程序尝试连接到数据库并获得无法连接到db的错误时,因为。我没有使用密码是错误的,因为我在parameters.yml中有它。

这是错误:

SQLSTATE[28000] [1045] Access denied for user 'example_username'@'localhost' (using password: NO)

我检查了基于parameters.yml生成的缓存文件,我可以看到它将密码设置为NULL

appDevDebugProjectContainer.php

(...)
return $this->services['doctrine.dbal.default_connection'] = $this->get('doctrine.dbal.connection_factory')->createConnection(array('host' => 'localhost', 'port' => NULL, 'user' => 'root', 'password' => NULL, 'driver' => 'pdo_mysql', 'driverOptions' => array()), $b, $c, array());
(...)

我当然试图清除缓存,但它没有帮助。

它可能是什么?

我不知道它是否相关但在安装Sonata(Admin,FOS,User)之前没有问题。

2 个答案:

答案 0 :(得分:1)

如果您使用的是具有SELinux的操作系统,请执行以下设置

setsebool -P httpd_can_network_connect=1
setsebool -P httpd_can_network_connect_db=1

答案 1 :(得分:0)

正如Sybio评论的那样,我首先会检查登录是否可以在phpmyadmin或SSH中运行。

这对我来说在localhost上运行正常

database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: database_name
database_user: username
database_password: password

因此,如果登录有效,你的问题可能不是来自parameters.yml,我们需要看到你的config.yml(至少是教义,fos和奏鸣曲配置),这是下一个可能的嫌疑人。