我有一个symfony4应用程序,它连接到一个本地mysql示例。它在应用程序中运行得非常好,而且在使用控制台命令进行操作时也是如此。突然,即使我的数据库配置没有任何变化(我的mysql示例正在运行),我还是得到了这个错误:
sqlstate[hy000][1045]拒绝用户“root”@“localhost”的访问(使用密码:否)
当我跑步时:
php箱/控制台doctrine:schema:update—强制
不过,我在应用程序中的连接工作得非常好!就在一小时前,同样的命令还很有效。我知道关于这个问题已经有很多问题要问了,但答案不适用于我。我现在面临着完成一个项目的时间压力,这让我发疯。
这是我的.env配置:
DB_USER=root
DB_PASSWORD=root
DB_HOST=localhost
DB_PORT=3306
DB_NAME=test DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}
我的document.yaml配置如下所示:
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
mapping_types:
enum: string
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
1条答案
按热度按时间muk1a3rh1#
我通过将document.yaml中的字符集和排序规则更改为另一个更通用的utf8来解决这个问题。我没有改变它的整个时间,直到那时,它以前与它一起工作,所以我不知道为什么它突然决定在应用程序的一部分不够好。