【发布时间】:2018-10-31 15:16:45
【问题描述】:
我在 Drush 中看到的完整错误是:
请先将所有数据库表转换为 utf8mb4,然后在 settings.php 中启用它。请参阅有关添加 [警告] 的文档 4 字节 UTF-8 支持以获取更多信息。 (目前使用 Database 4 byte UTF-8 support Enabled,但 database 表格需要转换)
我正在使用最新版本的 Drupal 7。我已将所有表转换为 utf8mb4_unicode_ci。我首先通过提示手动执行此操作,但随后在表和字段上使用 phpMyAdmin 再次运行更新(只是为了确保,因为 Drush 仍然告诉我“请在 settings.php 中启用之前将所有数据库表转换为 utf8mb4 .") 所有表都设置为 InnoDB。
在 my.cnf 文件中,我确定我有
[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true
同一服务器上的另一个站点启用了 utf8mb4 支持,并且没有抛出错误。两个站点都使用最新版本的 PHP 5.6.x。 Drush 版本是 8.1.2。 MySql 是 5.5.x 的最新版本。
我已经通过 drush cc all 清除了所有 Drupal 缓存并重新启动了 MySQL 服务器。设置在带有 Plesk 的 Ubuntu 下。
寻找我可能遗漏的内容以及 Drupal 为什么要求我转换看起来已经转换的表的想法(phpMyAdmin 确实将排序规则显示为 utf8mb4_unicode_ci。)
【问题讨论】: