バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > 管理機能 > 2.12.3の「カテゴリ登録CSV」機能はバグがあります

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Fang
投稿日時: 2013/5/14 11:40
対応状況: −−−
半人前
登録日: 2013/5/10
居住地:
投稿: 19
2.12.3の「カテゴリ登録CSV」機能はバグがあります
「カテゴリ登録CSV」機能を利用してCSVを登録したところ、システムエラーが発生してしまいました。

エラーログを見ると、以下のようです。
SC_ClassAutoloader::include() [<a href='function.include'>function.include</a>]: Failed opening '/XXXXXX/html/../data/class/helper/db/SC_Helper_DB_EX.php' for inclusion (include_path='/XXXXXX/data/module:.:/usr/share/pear:/usr/share/php') on [/XXXXXX/data/class/SC_ClassAutoloader.php(120)

つまり、SC_Helper_DB_EX.phpのインクルージョンが誤っています。

一応対応として、data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSVCategory.phpにインクルージョンを追加して解決しました。

require_once CLASS_EX_REALDIR . 'helper_extends/SC_Helper_DB_Ex.php';

でもなぜSC_Helper_DB_EX.phpのインクルージョンが誤っているのがまだわかりません。

cohki
投稿日時: 2013/5/14 13:05
対応状況: −−−
一人前
登録日: 2013/4/15
居住地:
投稿: 133
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
ECCUBEのバグではないと思います。
ひとまず手元の環境では問題ありませんでした。

解決方法もその場しのぎで根本的なものではないですし、少々危険な気がします。
一つずつ押さえていけば原因が特定されるかもしれません。

まずエラーログですが、

data/class/helper/db/

そもそもこのようなパスは存在しません。
このパスが埋め込まれるような部分が初期のECCUBEにあるとは考えにくいです。
何か心当たりはないでしょうか?

Fang
投稿日時: 2013/5/14 15:04
対応状況: −−−
半人前
登録日: 2013/5/10
居住地:
投稿: 19
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
ご投稿ありがとうございます。

ちゃんと調査を行いました。

根本的な原因はdata/class/pages/admin/products/ LC_Page_Admin_Products_UploadCSVCategory.phpにある「SC_Helper_DB_Ex」は「SC_Helper_DB_EX」になってしまい、SC_ClassAutoloader::autoloadはうまくいっていないです。

ちなみに、data/class/util/SC_Utils.phpの1722行のSC_Utils_EXも同様です。
cohki
投稿日時: 2013/5/14 15:53
対応状況: −−−
一人前
登録日: 2013/4/15
居住地:
投稿: 133
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
メソッドを静的アクセスしている部分で一部「SC_Helper_DB_EX」と大文字になっている部分はありますね。

確かにバグと言えばバグですが、、
PHPではクラス名の大文字小文字を区別しませんので、呼び出しには本来影響はないように思います。
SC_Utils_EXについても同様です。

手元ではエラーを再現できず、
それが逆に個人的には気になるところではあります。

前述のパスの矛盾などに関してなにか考察できる部分はありますでしょうか?
Fang
投稿日時: 2013/5/14 16:53
対応状況: −−−
半人前
登録日: 2013/5/10
居住地:
投稿: 19
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
>>前述のパスの矛盾などに関してなにか考察できる部分はありますでしょうか?

data/class/SC_ClassAutoloader.phpのautoloadのソースを読んだらすぐわかると思います。

中には、そういうソースがあります。
$is_ex = end($arrClassNamePart) === 'Ex';

大文字と小文字では全然違いますね。
SC_Helper_DB_EXではinclusionをdata/class/helper/db/SC_Helper_DB_EX.phpになってしまいます。
cohki
投稿日時: 2013/5/14 18:30
対応状況: −−−
一人前
登録日: 2013/4/15
居住地:
投稿: 133
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
クラスローダについては認識しています。

確かにソースコードはそのようになっていますが、
問題が再現できないとなればその前に何らかの処理で吸収されているのかと思っています。

クラス名を「SC_HELPER_DB_EX」などにしても問題なくロードできます。

APCなどは使っておりませんし、
何かクラスローダ関係のキャッシュなどがあるのでしょうか。。

解決の方向に至らず申し訳ありません。
ゲスト
投稿日時: 2013/5/14 19:32
対応状況: −−−
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
引用:

data/class/SC_ClassAutoloader.phpのautoloadのソースを読んだらすぐわかると思います。

読んでますが、未だに分かりません。

SC_ClassAutoloaderを呼ぶ状態にして、
引用:

SC_Helper_DB_EXではinclusionをdata/class/helper/db/SC_Helper_DB_EX.phpになってしまいます。

の再現をしたいので、いくつか、確認させてください。

特に、cohki様も、疑問に思われている「EC-CUBE 2.12.3」に存在しない「.../db/...」が付与される点が良く分からないです。

1. プラグインは何か導入されていますか?

2. そのプラグインは何でしょうか?

また、

3. EC-CUBEは「素」の 2.12.3 でしょうか?

4. memcacheを、導入し、r22811 を、適用された状態でしょうか?
Fang
投稿日時: 2013/5/14 19:52
対応状況: −−−
半人前
登録日: 2013/5/10
居住地:
投稿: 19
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
ご投稿ありがとうございます。

>>>1. プラグインは何か導入されていますか?
>>>2. そのプラグインは何でしょうか?

導入したプラグインが以下です。
PGマルチペイメントサービス決済コア機能プラグイン 1.0 (by GMOペイメントゲートウェイ株式会社)
PGマルチペイメントサービス 決済補助機能プラグイン 1.3(by GMOペイメントゲートウェイ株式会社)
PGマルチペイメントサービス 2クリック決済プラグイン 1.1(by GMOペイメントゲートウェイ株式会社)

>>>3. EC-CUBEは「素」の 2.12.3 でしょうか?
ちょっとカスタマイズしました。
具体的にはセッションをmemcacheに保存するように対応しました。


>>>4. memcacheを、導入し、r22811 を、適用された状態でしょうか?
適用しました。


memcacheの導入と関係がありますか?






ゲスト
投稿日時: 2013/5/14 20:22
対応状況: −−−
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
小生、memcacheの導入経験がないので、

引用:

memcacheの導入と関係がありますか?

については、今の所、分からないです。

もし、行って頂けるのなら、

data/class/SC_ClassAutoloader.php

の末尾に

        var_dump($classpath);
        echo "<br />";
        
        include $classpath;


を追加して「カテゴリ登録CSV」を実行した時の、表示を、提示頂けますか?

以下は「素」の 2.12.3 の表示です。

先ほどの「.../db/...」の付与されたパスは見当たらないです。


string(93) "/var/www/eccube-2.12.3/html/../data/class_extends/helper_extends/SC_Helper_HandleError_Ex.php"
string(67) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_Initial_Ex.php"
string(78) "/var/www/eccube-2.12.3/html/../data/class_extends/util_extends/GC_Utils_Ex.php"
string(78) "/var/www/eccube-2.12.3/html/../data/class_extends/util_extends/SC_Utils_Ex.php"
string(89) "/var/www/eccube-2.12.3/html/../data/class_extends/helper_extends/SC_Helper_Session_Ex.php"
string(84) "/var/www/eccube-2.12.3/html/../data/class_extends/helper_extends/SC_Helper_DB_Ex.php"
string(74) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_SessionFactory_Ex.php"
string(67) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_Display_Ex.php"
string(24) "Net/UserAgent/Mobile.php"
string(79) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_SmartphoneUserAgent_Ex.php"
string(107) "/var/www/eccube-2.12.3/html/../data/class_extends/sessionfactory_extends/SC_SessionFactory_UseCookie_Ex.php"
string(8) "MDB2.php"
string(83) "/var/www/eccube-2.12.3/html/../data/class_extends/db_extends/SC_DB_DBFactory_Ex.php"
string(99) "/var/www/eccube-2.12.3/html/../data/class_extends/db_extends/dbfactory/SC_DB_DBFactory_PGSQL_Ex.php"
string(86) "/var/www/eccube-2.12.3/html/../data/class_extends/plugin_extends/SC_Plugin_Util_Ex.php"
string(84) "/var/www/eccube-2.12.3/html/../data/class_extends/db_extends/SC_DB_MasterData_Ex.php"
string(67) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_Session_Ex.php"
string(68) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_Response_Ex.php"
string(71) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_CartSession_Ex.php"
string(85) "/var/www/eccube-2.12.3/html/../data/class_extends/helper_extends/SC_Helper_CSV_Ex.php"
string(70) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_UploadFile_Ex.php"
string(69) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_FormParam_Ex.php"
string(69) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_AdminView_Ex.php"
string(64) "/var/www/eccube-2.12.3/html/../data/class_extends/SC_View_Ex.php"


直感ですが、
data/class/helper/db/SC_Helper_DB_EX.php
ということで、class なのに _EX.php なので、

引用:

PGマルチペイメントサービス決済コア機能プラグイン 1.0 (by GMOペイメントゲートウェイ株式会社)
PGマルチペイメントサービス 決済補助機能プラグイン 1.3(by GMOペイメントゲートウェイ株式会社)
PGマルチペイメントサービス 2クリック決済プラグイン 1.1(by GMOペイメントゲートウェイ株式会社)

のいづれかが、class_extends の所を、「間違えて」 class にしているのでは無いかと。。。

上記、プラグインを導入しての、確認は、時間が取れたら、こちらでも、行ってみたいと思います。
ゲスト
投稿日時: 2013/5/14 20:34
対応状況: −−−
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります
引用:

PGマルチペイメントサービス決済コア機能プラグイン 1.0 (by GMOペイメントゲートウェイ株式会社)
PGマルチペイメントサービス 決済補助機能プラグイン 1.3(by GMOペイメントゲートウェイ株式会社)
PGマルチペイメントサービス 2クリック決済プラグイン 1.1(by GMOペイメントゲートウェイ株式会社)


上記、プラグインは、何処で、入手出来ますか?

「PGマルチペイメントサービス」で、検索しても、「モジュール」しか見つからないもので。。。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は66,486名です
総投稿数は98,323件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2645
4
nanasess
2103
5
umebius
1747
6
yuh
1612
7
red
1424
8
h_tanaka
1043
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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