将我的网站植入服务器后,出现此错误:
ERROR 1709 (HY000) at line 278: Index column size too large. The maximum column size is 767 bytes.
服务器类型:
nginx / 1.11.10
基于datos的客户端版本:libmysql-mysqlnd 5.0.12-dev-20150407-$ Id:38fea24f2847fa7519001be390c98ae0acafe387 $
扩展PHP:mysqliDocumentacióncurlDocumentaciónmbstringDocumentación
PHP版本:7.1.14
数据库:
Servidor:通过UNIX套接字的Localhost
服务对象:MariaDB
服务对象:没有可用的SSL文档文件
服务器版本:10.1.37-MariaDB-0 + deb9u1-Debian 9.6
协议草案:10
在我的config.yml
(来自此文档https://symfony.com/doc/3.4/reference/configuration/doctrine.html)上,将server_version
设为10.1.37-mariadb
,但问题没有消失。
有什么主意吗?
答案 0 :(得分:1)
要解决列大小问题,您必须更改数据库配置。 确保您编辑现有设置或将未设置的设置添加到;
from | to | CallConnected | WhoAnswered | Duration
----------------------------------------------------------------------
(122) 212-3452|(700) 890-6542| 2 |(213) 344-4905| 00:03:56
当然,您还需要重新启动数据库实例以完成配置。最好先备份数据库,然后再应用更改并重新启动,以防万一出问题。
最后,您必须在character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb-file-format=Barracuda
innodb-file-per-table=ON
innodb-large-prefix=1
或config/packages/doctrine.yaml
中找到该学说设置并将其更改为以下内容;
app/config/config.yml
这些更改之后,清除symfony缓存并重新创建数据库;
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: 'mariadb-10.1.37'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
row_format: DYNAMIC
完成!所有人现在都应该工作!
您可以在此处阅读有关该问题的信息;