Php Symfony2尝试在parameters.yml中指定以外的其他用户上登录到DB
我正在尝试将应用程序移动到服务器,但我遇到了这个错误,不知道如何处理它Php Symfony2尝试在parameters.yml中指定以外的其他用户上登录到DB,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我正在尝试将应用程序移动到服务器,但我遇到了这个错误,不知道如何处理它 [2015-02-19 18:32:28] request.CRITICAL: Uncaught PHP Exception PDOException: "SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)" at /home/dmad/domains/dmad.test2.itme.eu/public_
[2015-02-19 18:32:28] request.CRITICAL: Uncaught PHP Exception PDOException: "SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)" at /home/dmad/domains/dmad.test2.itme.eu/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php line 40 {"exception":"[object] (PDOException(code: 1045): SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES) at /home/dmad/domains/dmad.test2.itme.eu/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:40)"} []
我的parameteres.yml如下所示:
parameters:
database_driver: pdo_mysql
database_host: localhost
database_port: null
database_name: test
database_user: test
database_password: password
我用--env=prod清除了缓存,并尝试了我找到的所有其他解决方案,但没有解决任何问题。我无法访问控制台。我可以毫无问题地登录到PhpMyAdmin。在我看来,symfony没有读取这个parameters.yml文件。有人知道可能是什么原因造成的?您也可以在配置文件中设置数据库详细信息。 由于已更改为生产模式,请检查您的配置\u prod.yml 可能是这样的
# Doctrine Configuration
doctrine:
...
host: "localhost"
port: 3306
dbname: "dbase"
user: "myuser"
password: "passwd"
要使用参数文件中的设置,请将其更改为
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
(或直接在config或config_prod文件中输入详细信息)我有标准设置。Config_prod.yml导入Config.yml,后者导入parameters.yml并将这些值设置为%%。试图将连接详细信息硬编码到config_prod.yml中,然后在config.yml中仍然出现相同的错误。请检查这些文件(和文件夹)的用户/组和权限。所有文件夹都有755权限,所有文件都有644权限。我没有访问服务器的权限,也不知道如何检查用户/组。这可能是因为应用程序/缓存文件夹归某个用户所有,但您正在从另一个用户运行clear:cache命令。它是一个共享主机还是你只是没有访问权限?因为共享主机解决方案很少能很好地与symfony2配合使用。这是一个求职面试。他们给了我ftp和mysql的登录/通行证,并要求我部署应用程序。我想这是他们的共享主机。我给他们写了一封电子邮件,解释所有权可能是问题所在。谢谢你们的回答!