ただし、デフォルトでは、InnoDBMySQLデータベースストレージエンジンはmy.cnf構成ファイルで有効になっていません。 Webマスターが外部キー制約に関する1対多または多対多のテーブル関係などのInnoDB機能、またはコミット、ロールバック、クラッシュリカバリ機能などのトランザクションセーフコマンドの使用を計画している場合。
InnoDBストレージエンジンでMySQLサーバーのサポートを有効にするには、「my.cnf」構成ファイル(通常は/ installation_path にあります)を見つけます。 / xampp / mysql / bin /ディレクトリ)、 my.cnfを編集します viなどのテキストエディタを使用します。
次の各行を検索して見つけます( italic の行を除く) コメントの場所):
-次の行にコメントを付けて、スキップを解除してInnoDBを使用します skip-innodb -InnoDBテーブルを使用している場合は、InnoDBデータベースの次のオプションのコメントを解除します。 #innodb_data_home_dir =C:/ xampp / xampp / mysql / data / #innodb_data_file_path =ibdata1:10M:autoextend #innodb_log_group_home_dir =C:/ xampp / xampp / mysql / data / #innodb_log_arch_dir =C:/ xampp / xampp -行のコメントを解除し、innodb_buffer_pool_sizeをRAMの50%〜80%に設定して、InnoDBデータベースを最適化します。メモリ使用量が多すぎないようにしてください。 #set-variable =innodb_buffer_pool_size =16M#set-variable =innodb_additional_mem_pool_size =2M -行のコメントを解除し、最適化のためにinnodb_log_file_sizeをInnoDBバッファープールサイズの25%に設定します。 #set-variable =innodb_log_file_size =5M#set-variable =innodb_log_buffer_size =8M#innodb_flush_log_at_trx_commit =1#set-variable =innodb_lock_wait_timeout =50
変更後、各行のコードは次のようになります。
#skip-innodb innodb_data_home_dir =C:/ xampp / xampp / mysql / data / innodb_data_file_path =ibdata1:10M:autoextend innodb_log_group_home_dir =C:/ xampp / xampp / mysql / data / innodb_log_arch_dir =C:/ xampp / data / set-variable =innodb_buffer_pool_size =16M set-variable =innodb_additional_mem_pool_size =2M set-variable =innodb_log_file_size =5M set-variable =innodb_log_buffer_size =8M innodb_flush_log_at_trx_commit =1 set-variable =innodb_lockInnoDBが有効になっておらず、MySQLが代わりにMyISAMデータベースストレージエンジンを使用している場合、返される可能性のあるエラーには次のものがあります。
「A_Class」クラスの未定義のGETプロパティまたは変数:A_Class_Object
致命的なエラー:87行目の/xampp/htdocs/wwwroot/a_page.phpにある未定義のメソッドObject ::Function()を呼び出す