エラー内容
PHP Fatal error: Call to undefined function mb_convert_variables() in ソースの場所 on line xxx
[toggle title=”原因と対処を表示”]
原因
拡張モジュールがインストールされていない。
対処
yum install php-mbstring
[/toggle]
エラー内容
Error: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
[toggle title=”原因と対処を表示”]
原因
最大キー長は767バイトまでとなっているため(デフォルト)。文字列型カラム
対処
インデックスの最大キー長を3072バイトまで拡張する
my.cnf(デフォルトは、/usr/my.cnf)
[mysqld] innodb_large_prefix innodb_file_per_table innodb_file_format=Barracuda
innodb_large_prefix
オプションを有効にすると、DYNAMIC および COMPRESSED 行フォーマットを使用する InnoDB テーブルで、767 バイトよりも長い (最大で 3072 バイトの) インデックスキープリフィクスが許可されます。(このようなテーブルの作成には、innodb_file_format=barracuda および innodb_file_per_table=true のオプション値も必要になります。)
innodb_file_per_table
InnoDB では、新たに作成された各テーブルのデータおよびインデックスがシステムテーブルスペースではなく、個別の .ibd ファイルに格納されます。これらの InnoDB テーブル用のストレージは、テーブルが削除されたり、切り捨てられたりすると再利用されます。このように設定すると、テーブルの圧縮などのその他のいくつかの InnoDB 機能が有効になります。
innodb_file_format
有効にするには、innodb_file_per_table が有効になっている必要があります。テーブルの圧縮などの特定の InnoDB 機能を使用するには、Barracuda ファイル形式が必要です。
[/toggle]

コメント