Symfony 4 Limenius工作坊

时间:2018-10-21 12:18:27

标签: php database symfony

我刚开始使用php进行编码,我的一个朋友推荐了Limenius sf4 workshop。但是,我一开始只是为建立数据库而苦恼。

在我的shell中键入php bin/console doctrine:schema:update --dump-sql(在Windows上运行)时,出现以下错误消息:

Error thrown while running command "doctrine:schema:update --dump-sql". Message: "An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)"

In AbstractMySQLDriver.php line 113:

  An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)


In PDOConnection.php line 50:

  SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)


In PDOConnection.php line 46:

  SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)

我确实在网上寻找答案,但它们似乎都暗示我需要设置我的.env文件-根据第一步的指导,我 did 。网络服务器也运行良好。我只是看不出我到底出了什么问题。还有其他人对此部分感到困惑或有想法吗?就像我说的,我对此很陌生。

作为测试,我尝试使用命令php bin/console doctrine:database:create创建一个新的数据库-相同的错误消息。

3 个答案:

答案 0 :(得分:1)

好吧,一旦我意识到我需要输入我的凭证两次,就可以很好地完成工作。

这是我的.env文件(顶部没有注释):

DATABASE_URL="mysql://root:root@127.0.0.1:3306/travolta"

###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=9c47bf77dd9e746ab12e8fb021e226e1
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS=localhost,example.com
###< symfony/framework-bundle ###

###> doctrine/doctrine-bundle ###
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL="mysql://root:root@127.0.0.1:3306/travolta"
###< doctrine/doctrine-bundle ###

我没有注意到倒数第二行。对此我感到很抱歉!不过,非常感谢您为我提供帮助和提供小费。它帮助我更好地理解了事情。

答案 1 :(得分:0)

数据库用户名或密码不正确。您可以在.env文件中编辑此数据。

答案 2 :(得分:0)

将此行添加到您的.env文件中:

DATABASE_URL=mysql://{username}:{password}@127.0.0.1:3306/{database_name}

其中:

  • {username}:用于登录phpMyAdmin的用户名
  • {password}:您用于登录phpMyAdmin的密码
  • {database_name}:您要在Symfony应用程序中使用的数据库名称

更新

根据您的评论,如果尚未创建数据库,并且对phpMyAdmin感到满意,请创建一个:

Create database in phpMyAdmin

然后,为用户提供足够的特权:

Give database user sufficient privileges