连接到数据库Symfony 4 Flex

3

我正在使用 Symfony 4 Flex。我在使用这个教程。 这是我的数据库连接信息 database_host: 127.0.0.1 database_user: root database_password: null

首先,我安装了Doctrine。

composer require doctrine maker

然后我设置了我的数据库连接信息:

 parameters:
       env(DATABASE_URL): 'mysql://root:null@127.0.0.1:3306/sona'
    doctrine:
        dbal:
            driver: 'pdo_mysql'
            server_version: '5.7'
            charset: utf8mb4
            url: '%env(resolve:DATABASE_URL)%'
            url: '%env(resolve:DATABASE_URL)%'

当我执行以下命令时,

php bin/console   doctrine:database:create

我遇到了一个错误。
 In AbstractMySQLDriver.php line 103:

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


    In PDOConnection.php line 47:

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


    In PDOConnection.php line 43:

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


    doctrine:database:create [--shard SHARD] [--connection [CONNECTION]] [--if-not-exists] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction]
    [-e|--env ENV] [--no-debug] [--] <command>

我的错误在哪里?


你没有按照教程操作。教程中指出需要编辑 .env 文件来修改数据库连接信息。 - JimL
嗨,我的.env文件在哪里?我找不到它。 - pedram shabani
它应该在你的项目目录中,与composer.json文件在同一目录下。 - JimL
我没有这个,所以我必须创建它。这是正确的吗?https://symfony.com/doc/current/components/dotenv.html - pedram shabani
1
不是的。如果你使用了symfony create-project symfony skeleton,那么.env文件应该已经被创建了。它是一个.文件,所以有可能你只是没有看到它。ls -la命令可以帮助你找到它。http://symfony.com/doc/current/configuration/external_parameters.html 而且错误信息显示你确实有一个.env文件。这就是'db_user'字符串的来源。 - Cerad
非常感谢。我的IDE没有为我显示它。我终于找到了。 - pedram shabani
2个回答

1
在项目的根目录中更改 .env 文件。

0
请在 .env 文件中更新以下配置,然后运行 "php bin/console doctrine:database:create" 命令,这样它就会创建数据库。
# .env (or override DATABASE_URL in .env.local to avoid committing your changes)
# customize this line!
DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"

# to use sqlite:
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db"

参考: https://symfony.com/doc/current/doctrine.html#installing-doctrine


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接