我使用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)之前没有问题。
答案 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和奏鸣曲配置),这是下一个可能的嫌疑人。