ECCUBEで管理者画面にログインするときにシステムエラー

ECCUBEのカスタマイズをすることになったので、ローカルに環境を移行しました
管理者画面にログインするときにシステムエラーが発生

eccube-error

エラーログを確認
$ vim data/logs/error.log
2014/11/23 17:42:24 [/admin/index.php] Fatal error(E_USER_ERROR): on [/vagrant/data/class/SC_Response.php(182)] from 10.0.2.2
login_id = sample(0)[dafdfijewfijapif34fa5]
/vagrant/admin/index.php(33): LC_Page_Admin_Index_Ex->process
/vagrant/data/class_extends/page_extends/admin/LC_Page_Admin_Index_Ex.php(56): LC_Page_Admin_Index->process
/vagrant/data/class/pages/admin/LC_Page_Admin_Index.php(56): LC_Page_Admin_Index->action
/vagrant/data/class/pages/admin/LC_Page_Admin_Index.php(88): SC_Response->sendRedirect
/vagrant/data/class/SC_Response.php(182): trigger_error

いまいち何が悪いかわからない

結局
$ data/config/config.php
のHTTP_URL、HTTPS_URLのアドレスが間違えてました
(vagrantだったのでhttp://localhost:8000/でした..)

gitで差分をファイルで抽出する

git管理してないサーバーへファイルを適用するときに使えます

[code lang=bash]
$ git archive –format=zip –prefix=web/ HEAD `git diff –name-only HEAD HEAD^` -o update.zip
[/code]

commit1つ分をupdate.zipファイルに圧縮、解凍するとwebディレクトリができます
git diff –name-only で差のあるファイルが表示できるようです

[code lang=bash]
$ git archive –format=zip –prefix=web/ HEAD `git diff –name-only HEAD HEAD^^` -o update.zip
[/code]

とすればcommit2つ分です
これでgit管理してないサーバーにコピーできます

「 Call to undefined function curl_init() 」エラーの回避法

Ubuntu 14.04 + Apache + PHP で開発中、エラーが発生

PHP Fatal error: Call to undefined function curl_init() in xxxx

phpでcurlが使えないようです

インストールします
$ sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

Apache再起動
$ sudo service apache2 restart

これで有効になりました

CakephpでUnknown status codeのinternal errorが発生した

Cakephpでデータベースの登録処理を作っていたらエラーが発生

cakephp-internal-error

internal-error??
検索したらキャッシュとかデータベースとか言われてました

ログを見ると
$ tail app/tmp/logs/error.log
2014-11-22 06:00:44 Error: [CakeException] Unknown status code
Request URL: /cakephp/comments/add
Stack Trace:
#0 /vagrant/cakephp/lib/Cake/Controller/Controller.php(785): CakeResponse->statusCode(’25’)
#1 /vagrant/cakephp/app/Controller/CommentsController.php(16): Controller->redirect(Array, ’25’)
#2 [internal function]: CommentsController->add()
・・・

リダイレクトでコード25でとぼうとしてる..

間違いはこれでした

$this->redirect(array('controller' => 'posts', 'action' => 'view'), $id);
// カッコの位置を修正して第一引数の配列にdataを入れる
$this->redirect(array('controller' => 'posts', 'action' => 'view', $id));

redirectの第2引数には、HTTPのレスポンスコードが入るようで
やっかいかとおもったらちょっとの違いでした