XAMPPでconcrete5のテスト環境を作る前にしておくこと2つ

XAMPPでconcrete5のテスト環境を作る前にしておくこと2つ

windowsの環境でWEBサイトの組み込みをしていくときに欠かせないのが「XAMPP」ですね。

テストサーバとして起動してくれて、PHPが動いて、データベースも使えます。

なのでレンタルサーバなどにアップロードする前に挙動のチェックができます。

公開前のチェックは必ずしないとねー。アップしてから動かない!なんてことになったら大変よ。

 

そのXAMPP(ザンプ と読みますかね)、concrete5を動かす時に初めに設定しておいたほうがいいことが2つありますのでご紹介します。

これやっておかないと、後から大変なことになるよ!

※concrete5 5.7になって設定項目が増えたようです。公式サイトにも説明があります。

 

データベースのテーブル名を大文字・小文字区別させるようにする

concrete5のデータベースはなんとテーブルが200個近く作られるんですが、このテーブル名は大文字と小文字で作成されます。

例えば「DatabaseName」とか。

でもwindowsのXAMPPは初期設定で、テーブル名を全て小文字で扱うようになっています。「databasename」になっちゃう。

そうすると、本番環境にテーブルをインポートしたときに、テーブルがないよー。というエラーになってしまいます。えらいこっちゃ!

なので、concrete5をインストールする前に、データベース(MySQL)の設定をしておきます。

 

設定ファイルはこちら

※XAMPPのインストール先が c:\xampp\ の場合

my.ini をテキストエディター等で開いて、下記の単語を検索します。

27行目かな。

この次の行に下記を追記します。

これを書くと大文字小文字を区別したテーブル名に対応してくれます。

これを保存して完了です!

 

これの一番厄介なことろはテスト環境では小文字のままで動いちゃうこと!

テスト環境(XAMPP)でばっちりOKだったのに、本番環境にインポートするテーブルがないよーのエラーになるわけ。

普通だったら、これ、本番環境のサーバ疑うよねー。なんだけど、実際はXAMPPのせい、という、なんとも悲しい現実に・・・。

で、もう、小文字のまま作っちゃったよ!どーすんの?

テーブル名書き換えるの!?200個近いよ???

というときのために素晴らしいお助けアイテムがあります♡

Database Case Sensitivity Migration (MySQL)
http://www.concrete5.org/marketplace/addons/database-case-sensitivity-migration/

小文字のテーブル名を大文字・小文字に変換してくれる、フリーで公開されている何とも素敵なアドオンです。

使い方などはフォーラムで丁寧に説明されていますのでご覧下さい。ただ5.6の時には使えたけど、5.7以降に対応したのかな・・・。

データベースがインポートできない

これを知る前に、どうしようもなく手作業で修正した私です。。根性あるよねw

 

5.7以降でさらに必要になったMySQLの設定

concrete5 5.7以降に対応するために、設定ファイルの書き換えがいろいろ必要なったようです。

設定ファイルは先ほどと同じ、こちら

※XAMPPのインストール先が c:\xampp\ の場合

 

設定内容はこちら。公式サイトから抜粋

  • lower_case_table_names = 0 の次の行に下記を追加します。
  • 141行目のinnodb_buffer_pool_size の値を『16M』から『32M』に変更します。


  • 142行目のinnodb_additional_mem_pool_sizeの行の先頭に[#]を追加します。(コメントアウトします)


  • そしてその下に次の1行を追加し、ファイルを保存してください。

php.iniの設定

こちらも設定が必要だそうです。

設定ファイルはこちら

※XAMPPのインストール先が c:\xampp\ の場合

 

設定内容はこちら。

  • 552行目のdisplay_errorsを『On』から『Off』に変更します。


  • 770行目のpost_max_sizeの値を『8』から『20』に変更します。


  • 814行目の[;]を削除します。


  • 1860行目の先頭の[;]を削除し、『Japanese』から『neutral』に変更します。


  • 1866行目の先頭の[;]を削除して、文字コードを『EUC-JP』から『UTF-8』に変更します。


 

この設定にしたけどインストールチェックで引っかかりました。

c5.7install

これも必要みたい。

  • 994行目の先頭の[;]を削除する。


 

 

以上です。

 

 

これでconcrete5のインストールもばっちり!