バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > コミュニティ版でcsv出力項目設定でエラー

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Oba
投稿日時: 2010/6/9 9:29
対応状況: −−−
一人前
登録日: 2007/8/31
居住地: 静岡
投稿: 111
コミュニティ版でcsv出力項目設定でエラー
皆様、お世話になります。

表題の事について教えて下さい。

環境:
===========================
EC-CUBE: 2.4.2-comu (r18661)
OS: Linux i686
DBサーバ: PostgreSQL 8.2.4
WEBサーバ: Apache
PHP: 5.2.5
サーバ: Coreserver.jp
===========================

現在、上記の様な環境で構築しています。

インストールは、CGIモードで行い、
「.htaccess」には、「AddHandler application/x-httpd-php5cgi .php」と記載、
「php.ini」を 「phpinicopy.sh」を使わせて頂き、
htmlディレクトリ、dataディレクトリ(サブディレクトリには配置無し)に配置しました。

症状:
管理機能のCSV出力項目設定 において、以下の様なエラーが出てしまいます。
Script Error
The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. 
Depending on the server configuration, you can also run thisscript under CGIWrap debugging. 
Usually, either rename or linkthe script temporarily to a file which ends with .phpdextension,
 or add a AddType application/x-httpd-phpcgi-debug .phpline to your .htaccess file.

この様な状態なので、
「AddHandler application/x-httpd-php5cgi .php」をコメントアウトしてみたところ、
今度は、「システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。 」と表示されます。
data/logs/site.log には、

2010/06/06 10:24:06 [/admin/contents/csv.php]
             SELECT
                 no,
                 csv_id,
                 col,
                 disp_name,
                 rank,
                 status,
                 create_date,
                 update_date,
                 "convert"
             FROM
                 dtb_csv WHERE (status = 1) AND csv_id = ? ORDER BY      rank , no
DB Error: invalid number
              SELECT
                 no,
                 csv_id,
                 col,
                 disp_name,
                 rank,
                 status,
                 create_date,
                 update_date,
                 "convert"
             FROM
                 dtb_csv WHERE (status = 1) AND csv_id = 'product' ORDER BY      rank , no
  [nativecode=ERROR:  invalid input syntax for integer: "product"]

/virtual/○○○○/○○○○/module/DB.php 970:PEAR_Error->PEAR_Error
/virtual/○○○○/○○○○/module/PEAR.php 557:DB_Error->DB_Error
/virtual/○○○○/○○○○/module/DB/common.php 1912:PEAR->raiseError
/virtual/○○○○/○○○○/module/DB/pgsql.php 790:DB_common->raiseError
/virtual/○○○○/○○○○/module/DB/pgsql.php 337:DB_pgsql->pgsqlRaiseError
/virtual/○○○○/○○○○/module/DB/common.php 1012:DB_pgsql->simpleQuery
/virtual/○○○○/○○○○/module/DB/common.php 1664:DB_common->execute
/virtual/○○○○/○○○○/class/SC_DbConn.php 179:DB_common->getAll
/virtual/○○○○/○○○○/class/SC_Query.php 133:SC_DbConn->getAll
/virtual/○○○○/○○○○/class/helper/SC_Helper_CSV.php 98:SC_Query->getall
/virtual/○○○○/○○○○/class/pages/admin/contents/LC_Page_Admin_Contents_CSV.php 120:SC_Helper_CSV->sfgetCsvOutput
/virtual/○○○○/○○○○/class_extends/page_extends/admin/contents/LC_Page_Admin_Contents_CSV_Ex.php 56:LC_Page_Admin_Contents_CSV->process 
/virtual/○○○○/public_html/html/admin/contents/csv.php 34:LC_Page_Admin_Contents_CSV_Ex->process  from ***.***.***.***
※見難いと思ったので改行してあります。
と、出力されます。

パーミッションかなと思い、上記のファイルを777、705、666などに設定しましたが直りませんでした。

この様な状態を復旧できますでしょうか?

よろしくお願いします。
seasoft
投稿日時: 2010/6/9 19:55
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: コミュニティ版でcsv出力項目設定でエラー
なかなか難解なソースですね・・・

とりあえず、下記を試していただけるとありがたいです。
http://svn.ec-cube.net/open_trac/changeset/18681


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

Oba
投稿日時: 2010/6/9 22:26
対応状況: −−−
一人前
登録日: 2007/8/31
居住地: 静岡
投稿: 111
Re: コミュニティ版でcsv出力項目設定でエラー
Seasoft様、いつもいつもありがとうございます。

結果は、直りました。
ですが、応急処置なんですか?

一応、r18610のファイルを該当行を見てみました。
120行目ですが、
r18610では、
$arrOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput($subno_csv, "WHERE csv_id = ? AND status = 1", array($subno_id)));
となってます。

r18661では、
$arrOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput($subno_csv, 'status = 1'));
となってます。

それで、r18661で「WHERE csv_id」をgrepしましたら、
156行目と162行目に使われてました。ここは絡んでないんでしょうか?

また、該当行120行目、124行目は、[comu-ver2 18616] * #657(CSVダウンロードの改善)現状コミットで変更されてたんですね。

未だに、よく分かってない自分ですので、助かりました。

ありがとうございました。

追記です。
EC-CUBE側のログファイルにはエラーは出ておりません。

追記2:
csv出力項目設定で設定をしたところ、
郵便番号DB登録してあった、DB内の郵便番号が0件になってしまいました。
r18681にて直した事が起因しているのでしょうか?
seasoft
投稿日時: 2010/6/12 9:00
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: コミュニティ版でcsv出力項目設定でエラー
> 結果は、直りました。
> ですが、応急処置なんですか?

ソースを追跡するとどうも無駄な処理があるように思えまして。本当は、もう少しスマートな記述に書き直したいのですが、少々時間がとれず・・・


> それで、r18661で「WHERE csv_id」をgrepしましたら、
> 156行目と162行目に使われてました。ここは絡んでないんでしょうか?

最終的には csv_id カラムと $subno_id を比較するロジックが正しいのですが、中間に現れる $subno_csv の役割を私が十分に理解できていないのが現状です。


> csv出力項目設定で設定をしたところ、
> 郵便番号DB登録してあった、DB内の郵便番号が0件になってしまいました。
> r18681にて直した事が起因しているのでしょうか?

r18681 は郵便番号DBに関与することは無いと思います。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

Oba
投稿日時: 2010/6/12 16:28
対応状況: −−−
一人前
登録日: 2007/8/31
居住地: 静岡
投稿: 111
Re: コミュニティ版でcsv出力項目設定でエラー
Seasoft様、お忙しい中、ありがとうございました。

r18692のバージョンに入れ替えて、製作してみようと思います。

また何かの折には、ご教示願えましたら、幸いです。
seasoft
投稿日時: 2010/6/20 3:11
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: コミュニティ版でcsv出力項目設定でエラー
備忘録の意味も含め、チケットを発行しました。
http://svn.ec-cube.net/open_trac/ticket/770


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
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.