読者です 読者をやめる 読者になる 読者になる

EC-CUBE3.0.5以降でPostgres9の環境だと正常に動作しない時の対処方法

EC-CUBE3 PHP

EC-CUBE3.0.5からsessionの保存方法としてDB(dtb_session)を使うことになりました。

ただ、MySQLだと正常に動作しますが、 Postgres9だと環境によっては正常に動作しない時があります。 →MacのHomebrewでインストールしたPostgres9など

原因はSymfony2の問題であり、まだSymfony2側では対応されておりません。

NativeSessionStorage->loadSession() empty $_SESSION with PdoSessionHandler and pgsql · Issue #14569 · symfony/symfony · GitHub

回避方法としては以下のSQLを実行すると動作されるようになります。

ALTER DATABASE データベース名 SET bytea_output = 'escape';

Postgres9以降で動作しないよーという方はぜひお試しください。