プラグイン > 開発について > エラーの解決方法を教えて欲しいです |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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とか使ってブレークポイント設定して見てみると解りやすいかもしれません
|
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入ってますよ
|
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"
|
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 宣言漏れの場合はその旨のエラーメッセージが出そうなものですが、こういうエラーが出る場合もあるのですね・・・。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |