Symfony 3.4.6 - 10.1.37-MariaDB-0 + deb9u1 - слишком большой размер столбца индекса - PullRequest
1 голос
/ 31 марта 2019

При установке моего сайта на моем сервере появляется эта ошибка:

ERROR 1709 (HY000) at line 278: Index column size too large. The maximum column size is 767 bytes.

Тип сервера:

Nginx / 1.11.10

Версия базы данных: libmysql - mysqlnd 5.0.12-dev - 20150407 - $ Id: 38fea24f2847fa7519001be390c98ae0acafe387 $

расширение PHP: mysqliDocumentación curlDocumentación mbstringDocumentación

Версия PHP: 7.1.14

База данных:

Servidor: локальный хост через сокет UNIX

Tipo de servidor: MariaDB

Conexión del servidor: Нет необходимости использовать 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, но проблема не исчезнет.

Есть идеи?

1 Ответ

1 голос
/ 05 апреля 2019

Чтобы исправить проблему с размером столбца, вы должны изменить конфигурацию базы данных.Убедитесь, что вы изменили существующие параметры или добавили их, если они не установлены, в значение;

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb-file-format=Barracuda
innodb-file-per-table=ON
innodb-large-prefix=1

Конечно, вам также необходимо перезапустить экземпляр базы данных, чтобы завершить настройку.Всегда разумно сделать резервную копию ваших баз данных перед применением изменений и перезапустить, на случай, если что-то пойдет не так.следующее;

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

После этих изменений очистить кэш Symfony и заново создать базу данных;

console doctrine:database:drop
console cache:clear
console doctrine:database:create

Готово!Все должно работать сейчас!

Вы можете прочитать о проблеме здесь;

...