先日までMySQLでEC-CUBEサイトを構築中。
だったのだけれど、商品数1,000を越えたあたりでサイトが激重に。
調べたらMySQLでEC-CUBEつかうのはアレなんですね・・・。
EC-CUBEが使っているMySQL用のクエリがダメダメみたい。
一つ一つSQL文を書き直せばいいのだろうけれど、
そんなのあまりにムダな作業だ!!!
ってことで、PostgreSQLに変更し、
EC-CUBEを意気揚々と再インストールっ♪
でも、接続できないみたいなことを言ってくる?
はぁ?
MySQLにイージーさに慣れすぎて色々忘れてた。
ポスグレってpostgresql.confとpg_hba.confの設定が必須だっけ?
でググったらありましたよ。
http://www.dotconf.com/modules/dev/content0001.html
弊社はクララオンラインさんのPlesk導入サーバーを愛用させてもらっていますが、こちらの記事も同様のサーバー構成(OSは違いますが)のようですから、このままやれば良いだろうーーー。という希望的観測で今日はここまで。眠い。なんか頭イタイ。深夜0時。
ネタ元の記事の方。多謝です。
成功後、この記事に追記します。
【追記&結論】
あれこれ設定を変えてもうまくいかない(>_<)
と12時間近く悩んだあと発見。
クララオンラインのサーバーでPHP→ポスグレ接続するときは、
ホスト名を指定すると接続できません(>_<)
で、EC-CUBEのデータベース接続はどうなってるかと言うと、
PEAR_DBを使ってポスグレやらMySQLに接続をしてますが、
デフォルトの接続文字列が、
pgsql://username:password@hostname:port/dbname
という書式が使われています。ホスト名が見事に設定されています。
ってことで、これを
pgsql://username:password@unix()/dbname
となるように、install.phpとSC_Initial.phpを変更すると接続できるようになりました。
install.phpの方は書き換えなければならない箇所が複数あるので、
見落とさないように注意。
なぜ、このようにしなければならないのか・・・。
まさかこんなところで丸半日悩むとは思いもよりませんでした。
コメントを残す