バージョン選択

フォーラム

メニュー

オンライン状況

45 人のユーザが現在オンラインです。 (34 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 45
もっと...

サイト内検索

プラグイン > 開発について > エラーの解決方法を教えて欲しいです

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2016/10/31 8:58
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1644
エラーの解決方法を教えて欲しいです
プラグインを作成してコンソールからインストールしたあと、プラグインを有効化したらエラーになりました。
前回正常動作していた時のリビジョンを保存していなかったため原因を突き止められないでいます。

index_dev.phpにアクセスした時のエラーメッセージを記載します。
エラーを見る限りプラグインの起動に失敗しているような感じがします。

なお、ini_set('display_errors', 'On'); では何も表示されなかったです。

他にエラーの原因を探る方法はありますでしょうか?

■環境
EC-CUBE 3.0.10
PHP 5.6.24

■エラー全文
ContextErrorException in Application.php line 901:
Warning: Invalid argument supplied for foreach()

in Application.php line 901
at ErrorHandler->handleError('2', 'Invalid argument supplied for foreach()', '/Applications/MAMP/htdocs/test/eccube-3.0.11/src/Eccube/Application.php', '901', array('basePath' => '/Applications/MAMP/htdocs/test/eccube-3.0.11/src/Eccube/../../app/Plugin', 'finder' => object(Finder), 'priorities' => array('CategoryContentEvent' => array('admin.product.category.index.complete' => array('onAdminProductCategoryEditComplete' => '400'), 'admin.product.category.index.initialize' => array('onFormInitializeAdminProductCategory' => '400'), 'Product/detail.twig' => array('onRenderProductDetail' => '400'), 'Product/list.twig' => array('onRenderProductList' => '400')), 'MailMagazine' => array('eccube.event.controller.entry.after' => array('onControllerEntryAfter' => '400'), 'eccube.event.controller.mypage_change.after' => array('onControllMypageChangeAfter' => '400'), 'eccube.event.render.admin_customer_edit.before' => array('onRenderAdminCustomerBefore' => '400'), 'eccube.event.render.admin_customer_new.before' => array('onRenderAdminCustomerBefore' => '400'), 'eccube.event.render.entry.before' => array('onRenderEntryBefore' => '400'), 'eccube.event.render.mypage_change.before' => array('onRenderMypageChangeBefore' => '400'))), 'handlers' => array(array('onRenderAdminCustomerBefore', 'NORMAL')), 'this' => object(Application), 'handler' => array('onRenderAdminCustomerBefore', 'NORMAL'), 'priority' => '400', 'dir' => object(SplFileInfo), 'path' => '/Applications/MAMP/htdocs/test/eccube-3.0.11/app/Plugin/MetaTag', 'code' => 'MetaTag', 'config' => array('name' => 'メタタグ埋め込みプラグイン', 'code' => 'MetaTag', 'version' => '1.0.0', 'event' => 'MetaTagEvent', 'service' => array('MetaTagServiceProvider'), 'orm.path' => array('/Resource/doctrine')), 'plugin' => object(Plugin), 'class' => '\Plugin\MetaTag\MetaTagEvent', 'eventExists' => true, 'subscriber' => object(MetaTagEvent), 'event' => 'eccube.event.render.admin_customer_edit.before', 'service' => 'MailMagazineServiceProvider')) in Application.php line 901
at Application->loadPlugin() in Application.php line 612
at Application->initializePlugin() in index_dev.php line 68
tao_s
投稿日時: 2016/11/2 7:59
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 799
Re: エラーの解決方法を教えて欲しいです
xdebugとか使ってブレークポイント設定して見てみると解りやすいかもしれません


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

h_tanaka
投稿日時: 2016/11/2 9:32
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1644
Re: エラーの解決方法を教えて欲しいです
tao_sさん、ご返信ありがとうございます。

xdebugのインストールを試してみましたがエラーになりました。

■参考
xdebugのインストール
http://www.aiship.jp/knowhow/archives/25695
$ phpize で次のエラー
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable


autoconfのインストール
http://qiita.com/odorry/items/00e1fa6795add501e72a
$ sudo makeinstall で次のエラー
sudo: makeinstall: command not found

■環境
macOS Sierra 10.12
red
投稿日時: 2016/11/2 10:03
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: エラーの解決方法を教えて欲しいです
MAMPはxdebug入ってますよ


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

h_tanaka
投稿日時: 2016/11/2 14:19
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1644
Re: エラーの解決方法を教えて欲しいです
redさん、ご返信ありがとうございます。

MAMP の Xdebug を有効化しようとしましたが、できませんでした。
Zend Extension のバージョンは PHP Extension のバージョンと合っていて、MAMPの再起動も行いましたが、phpinfo に xdebug に関する項目が表示されません。

■参考にしたサイト
http://qiita.com/y-ta/items/fc54af35026550eb5bc6
http://www.moreitfun.com/2015/06/12/mac-mamp-xdebug-config/
red
投稿日時: 2016/11/2 14:37
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: エラーの解決方法を教えて欲しいです
php.ini に元々コメントアウトされた行はありましたか?
xdebug.so は存在しますか?
phpinfoのLoaded Configuration Fileと編集したphp.iniは一致していますか?

[xdebug]
;zend_extension="/Applications/MAMP/bin/php/php5.3.28/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"




----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

h_tanaka
投稿日時: 2016/11/2 15:42
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1644
Re: エラーの解決方法を教えて欲しいです
phpinfo の Loaded Configuration File と編集したphp.iniが一致していませんでした。
Loaded Configuration File の php.ini を編集することでXdebugをインストールできました。

atom にブレークポイントを設定することはできましたが、プラグインのインストールをしても有効化をしてもブレークしません・・・。

■参考にしたサイト
http://qiita.com/magaya0403/items/ca876c9a66ecf1ac78d2
h_tanaka
投稿日時: 2016/11/4 11:36
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1644
Re: エラーの解決方法を教えて欲しいです
自己解決しました。
結局原因を見つけるために1からプラグインを実装し直し、その途中で原因に気づきました。

Event.php の中で Crawler を使用していたのですが、Crawler を use する宣言文が抜けていました。
use 宣言漏れの場合はその旨のエラーメッセージが出そうなものですが、こういうエラーが出る場合もあるのですね・・・。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,785名です
総投稿数は109,972件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1644
8
red
1570
9
mcontact
1289
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.