vagrant上のECCUBEでオーナーズストアを自身にするとエラーが発生する

ECCUBEの公式サイトに公開されてないプラグインをインストールする際、
オーナーズストアを一旦自分のサーバーに変更してするような手順があったのでためしました

ECCUBEの管理画面へログインして、システム設定>パラメータ設定で

  • OSTORE_URL
  • OSTORE_SSLURL

がオーナーズストアのアドレスです
ここを

“myowersstore/”

とかにする指示で、これで
http://localhost:8080/myowersstore/
がオーナーズストアのアドレスになるのですが、オーナーズストア>モジュールの一覧でモジュールの取得を押すと

エラー発生

2015/03/16 20:24:27 [/upgrade/index.php] * error! code:2002 / debug:O:10:"PEAR_Error":8:{s:20:"error_message_prefix";s:0:"";s:4:"mode";i:1;s:5:"level";i:1024;s:4:"code";i:111; s:7:"message";s:18:"Connection refused";s:8:"userinfo";N;s:9:"backtrace";a:6:{i:0;a:6:{s:4:"file";s:35:"/vagrant/mobax/data/module/PEAR.php";s:4:"line";i:542;s:8:"function";s:10:"PE AR_Error";s:5:"class";s:10:"PEAR_Error";s:4:"type";s:2:"->";s:4:"args";a:5:{i:0;s:18:"Connection refused";i:1;i:111;i:2;i:1;i:3;i:1024;i:4;N;}}i:1;a:7:{s:4:"file";s:41:"/vagrant/mob ax/data/module/Net/Socket.php";s:4:"line";i:185;s:8:"function";s:10:"raiseError";s:5:"class";s:4:"PEAR";s:6:"object";O:10:"Net_Socket":14:{s:2:"fp";N;s:8:"blocking";b:1;s:10:"persis tent";b:0;s:4:"addr";s:9:"127.0.0.1";s:4:"port";i:8080;s:7:"timeout";b:0;s:10:"lineLength";i:2048;s:7:"newline";s:2:"
・・・

サーバー自身からlocalhost:8080へアクセスできない様子(そらそうだ)

  • OSTORE_URL
  • OSTORE_SSLURL

“http://localhost/myowersstore/”

にしてやるとうまくいきました

PEARがおかしい?socketが使えない?などはまりました..

ECCUBEにCloud Paymentの決済モジュールをインストールする

EC CUBE v.2.13.3に
cloud payment (旧 j-payment)の決済モジュールをインストールしました

モジュールを手に入れる

v.2.12の頃はEC CUBE オーナーズストアでモジュールがダウンロードできたのですが、いまは消されてます

cloud paymentに問い合わせたところ
なぜかアドレス教えてくれず、管理画面からのリンクを教えられる
(ログイン必要)

リンク貼ってもいいのかわからないので、リンクは貼らないでおきます
Cloud Payment管理画面からのリンクで、ファイルがてにはいりました

  • index.php
  • mdl_jpayment (ver2.13系).zip
  • EC-CUBEインストール・初期設定マニュアル.pdf

マニュアルは EC CUBE v.2.12用でした

zipを解凍してみる

$ unzip mdl_jpayment.zip

index.php
mdl_jpayment ディレクトリ

が解凍されます
index.phpは最初のダウンロードしたのと同じでした
(同じもの入れないでほしい..)

インストール

サーバーにログイン、適当なディレクトリを作り、そこをオーナーズストアとして認識させる
ECCUBEの公開ディレクトリに cloudpayment をつくりました
直下を公開ディレクトリにしてるので、

$ mkdir cloudpayment
(ふつうだとhtml/cloudpaymentでしょうか)

ここに解凍してできた index.php を入れます

$ mv (ダウンロードディレクトリ)/index.php cloudpayment

管理画面で設定を変える

OSTORE_URL
OSTORE_SSLURL

“http://www.ec-cube.net/”
“https://www.ec-cube.net/”
から
“cloudpayment/”

に変更、なんですがvagrantだったので

“http://localhost/cloudpayment/”

に変更

参照 vagrant上のECCUBEでオーナーズストアを自身にするとエラーが発生する

管理画面>オーナーズストア>モジュール管理、へアクセス
モジュール一覧の取得

あとは、店舗IDなどをいれて保存

OSTORE_URLなどは元に戻しておきます

ECCUBEでプラグインアップデートでエラー

ECCUBE v.2.13.3でプラグインの更新時

Warning(E_WARNING): unlink(/vagrant/sample/data/downloads/tmp/plugin_install/DE-0002_20141208.tar.gz): No such file or directory on [/vagrant/sample/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php(938)] from 10.0.2.2


data/logs/error.log
にエラーが..

これで直りました

$ mkdir data/downloads/tmp/plugin_install

plugin_installディレクトリがなかったみたいです

phpで配列が存在するかのチェック

配列が存在するか調べるときに

if (isset($var['p'])) {
  // 存在するときの処理
}

としますが

$var['p'] = null;
var_dump(isset($var['p']));
// false

と null が入っていると false になってしまいます

配列のキーが存在するかをみて

if (array_key_exists('p', $var)) {
  // キー存在するときの処理
}

としてあげたら意図した処理になります