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)) {
  // キー存在するときの処理
}

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

Cakephpのテスト時にSessionの値が取れない

Cakephp 2.5.3でコントローラーのテストのとき

$this->testAction('/Sample/save', ['return' => 'vars']);
$flash = CakeSession::read('Message.flash');
$this->assertEquals('保存しました', $flash);

とすると CakeSession::read(‘Message.flash’) がとれませんでした

$this->testAction('/Sample/save');
$flash = CakeSession::read('Message.flash');
$this->assertEquals('保存しました', $flash);

として flash をとってやって

$this->vars
でパラメータは取ればとりあえず解決

詳しく理解しないとですが、ここまでで