• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQL からPostgreSQL へ移行後に、急に500エラーにな)

MySQLからPostgreSQLへ移行後に急に500エラーが発生した原因と解決策

このQ&Aのポイント
  • EC-CUBE2.4を利用しており、MySQL5からPostgreSQL8へ移行しましたが、ECトップページにアクセスすると急に500エラーが発生します。
  • エラーログを確認すると、PHPの構文エラーが関連していることがわかりました。具体的には、/パス/eccube/data/class/SC_DbConn.phpの137行目にsyntax errorがあり、また、DB_ErrorクラスのgetCol()メソッドが未定義というエラーも報告されています。
  • 問題の解決策としては、まず構文エラーを修正する必要があります。その後、DB_ErrorクラスのgetCol()メソッドを正しく定義する必要があります。このように修正を行うことで、500エラーが解消される可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

エラーの内容自体は単純きわまりなく、 getCol という method が見つからん といっているに過ぎないけど、 EC-Cube ってよく知らんけど、DB用のライブラリでも含んでいるんでしょうか? そこのライブラリでは、Mysql 経由の getCol はできるけど、PostgreSQL は 無いとか言う話では? 自分で手を入れないと直らない気もしますが、Version Up でも 直っているかもしれない。 私ならライブラリを直しますか、別のライブラリ経由でDBにアクセスするか

fixer2002
質問者

補足

バージョンアップもしてみたのですが、直らない様です。

その他の回答 (2)

回答No.2

こんにちは これ、何ですか? 実際のソースですか? ところどころコメントになってますが、どうして??? これじゃ動かないかと・・・。 もう少し全体がわからないと、何とも・・・。

回答No.1

こんばんは ソース見てないので、なんとも・・・。 エラーとしては、 SC_DbConn.phpの137行目と言ってますが。

fixer2002
質問者

補足

すいません。ありがとうございます。 ソースとは、どのファイルのソースでしょうか? $this->result = $result; return $this->result; } // function getCol($n, $col, $arr = "") { // mysqlの場合にはビュー表を変換する if (DB_TYPE == "mysql") $n = $this->dbFactory->sfChangeMySQL($n); //if ($arr) { ●$result = $this->conn->getCol($n, $col, $arr); } else { $result = $this->conn->getCol($n, $col); } if ($this->conn->isError($result)) { $this->send_err_mail($result, $n); } $this->result = $result; return $this->result; }