php - Symfony 4,Postgres - `Invalid value for parameter "client_encoding": "utf8mb4"` on running doctrine command

标签 php postgresql symfony symfony4

问题

我对 postgres 10.5symfony 4 应用程序进行了全新设置,在 php 7.1 上运行。但是当我尝试运行迁移时。我不断收到以下 Invalid value for parameter "client_encoding": "utf8mb4" 错误。 enter image description here

重现步骤

  1. .env 文件上,根据您的设置修改 DSN 以更正值,例如。我的是DATABASE_URL="pgsql://postgres:password@db:5432/a_db"
  2. 使用 php bin/console make:entity 创建一个实体(任何人都可以)
  3. 制作迁移文件php bin/console make:migration

预期结果

我应该收到成功消息。

所以我的问题是

我在关注 documentation 时错过了什么?

最佳答案

所以我在 postgres 中的实际客户端配置是 utf8 而不是 utf8mb4。似乎 symfony 不会自动为我们检测版本和数据库。

Symfony 4 在配置文件 config/packages/doctrine.yaml 中为 MYSQL 保留了标准的 utf8mb4 >。不应忘记根据这些更改此配置文件 allowed configuration .所以当我更改值时问题就解决了

来自

数据库: 驱动程序:'pdo_mysql' 服务器版本:'5.7' 字符集:utf8mb4 默认表选项: 字符集:utf8mb4 整理:utf8mb4_unicode_ci

数据库: 驱动程序:'pdo_postgresql' 服务器版本:'10.5' 字符集:utf8 默认表选项: 字符集:utf8 整理:utf8_unicode_ci

关于php - Symfony 4,Postgres - `Invalid value for parameter "client_encoding": "utf8mb4"` on running doctrine command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52338761/

相关文章:

php - 填充 FosElasticaBundle 时 php 内存不足,可能存在内存泄漏?

javascript - Uncaught ReferenceError : postscribe is not defined at ctkvidinit ((index):3258)

postgresql - Heroku 页面 :push psql: FATAL: password authentication failed for user

mysql - mysql的问题从 Doctrine 原始sql创建过程

postgresql - Postgres 报告关系不存在,但表存在

postgresql - 如何在 postgreSql 中使用更新

php - Symfony2 - 找不到 "GET/"的路由

php - htAccess 重定向除 Assets 文件夹之外的所有 .php

php图像箭头线需要平滑

php - 如何在每一列上方添加不同的饼图