バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > フロント画面でモジュールが全文字化けします

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2008/3/21 7:27
対応状況: −−−
Re: 文字化け画像をUPしました
Windowsのローカルでもテストしてるけど
Cドライブからの絶対パスでは普通はしませんよ。
普通にルートディレクトリからの設定でOKでしょ。
アパッチの設定が普通にできていれば、通常のHTMLだって
Cドライブから記述しませんよ。
ゲスト
投稿日時: 2008/3/21 0:59
対応状況: −−−
Re: 文字化け画像をUPしました
引用:

soesoeさんは書きました:
締めたあとではありますが、追伸です。

(略)
----------------------------------------------------------
結論
----------------------------------------------------------
Windowsインストール時にnanasessさんがおっしゃるように、
何らかの環境的原因?でdata/install.php生成時にバグが発生するようです。
HTML_PATHのhtdocs指定を手打ちで直せばOK。

バグ発生原因の特定は・・・出来ませんでした。

(略)

?PC_A
インストールの際にdata/install.php生成時に
下記のようにバグ記載。
('HTML_PATH', 'C:////////(省略)////htdocs/');

⇒('HTML_PATH', 'C:/Apache2.2/htdocs/');に書き直し解決

(略)


症状だけ見ていると、magic_quotes_gpcの悪さの様にも見えます。
以下は仮定の話で未確認です。

Windowsのパス区切り文字「\」が、一度フォームデータとして取り込まれるとmagic_quotes_gpcという、PHPのまったくいらない子な機能が有効になっていますと、$_POSTや$_GETや$_COOKIEには「\\」として格納されます。

つまり、下記の様に仮定します。
仮定:
 インストールスクリプト html/install/index.php の絶対パス(__FILE__)から取得した値を、
  一度POSTもしくはGETもしくはCOOKIEデータとして再取得し、絶対パス定義に利用している。
 (なぜかは知りません。仮定です)

EC-CUBEでは、パス区切り文字は「/」に統一されているようです。この変換処理が、html/install/index.phpのどこかで行われます。(例によってどこかは知りません)
そうすると、一度フォームデータを経由するごとに、「\」が「\\」になり、以後倍々ゲームで増殖します。
そうやって増えた「\\\...」が最終的に「///...」に置き換わって、今回ご提示された現象が起こっている、という可能性はありませんでしょうか。

ただ、上記は無いだろう、という反証もあるので以下に上げておきます。

1.
引用:

・システム構成インストールフォルダ、httpd.conf、php.ini記述は一緒

との事なので、magic_quotes_gpcの設定も同じと考えられる。この場合、上記説明はまったく不適。

2.
インストール処理は最後まで、html/install/index.phpで行われます。すなわち、いつでも __FILE__は同じ値を取りますので、POST等で再取得する意味が全くありません。というかむしろフォーム値から取るべきではありません。そんな実装になっている わ け が な い という風に思います。
# 未確認です。

以上、一応思いつきましたので、あくまで仮説として、開発者および利用者のご参考になれば幸いです。
ゲスト
投稿日時: 2008/3/20 23:29
対応状況: −−−
Re: 文字化け画像をUPしました
引用:

ゲストさんは書きました:
なんで
Cドライブからのパスで考えるのかな
通常そういう扱いはしないんですが・・・


いや、data/install.phpの該当箇所(PATHの定数定義)は、絶対PATHで指定されますよ。
Windowsなら、C:\ からの指定になって当然?

html/install/index.php の中でさんざんこねくり回されてるので、非常に追いかけにくいですが、多分
realpath(dirname( __FILE__))
が、元になっている(みたい)ですな。これがWindows版PHPのバージョン依存だとかいうなら、また話は変わりますが・・・。

インストール後の data/install.php に書き出される内容は、eccube-2.0.1a のhtml/install/index.phpでは、851〜869行目くらいでしょうか。

一度、ご確認をされた方が良いかと思います。> ゲストさん
# ちなみに、
# 投稿日時: 2008-3-19 6:44
# 投稿日時: 2008-3-19 10:56
# も、同じ趣旨の様ですが、同じ方でしょうか。おそらく勘違いです。
# 開発サイドの人がリプライして下されば確かかと思うんですが、私では自信はありません。
ゲスト
投稿日時: 2008/3/20 21:06
対応状況: −−−
Re: 文字化け画像をUPしました
なんで
Cドライブからのパスで考えるのかな
通常そういう扱いはしないんですが・・・
soesoe
投稿日時: 2008/3/20 15:56
対応状況: −−−
新米
登録日: 2008/3/19
居住地:
投稿: 3
Re: 文字化け画像をUPしました
締めたあとではありますが、追伸です。

PC4台にて計6回インストールを繰り返して検証。
私のような初心者が同じところで躓いて、
あきらめる方が減れば・・・幸いです。

----------------------------------------------------------
結論
----------------------------------------------------------
Windowsインストール時にnanasessさんがおっしゃるように、
何らかの環境的原因?でdata/install.php生成時にバグが発生するようです。
HTML_PATHのhtdocs指定を手打ちで直せばOK。

バグ発生原因の特定は・・・出来ませんでした。


----------------------------------------------------------
下記条件でインストール時に
data/install.phpの'HTML_PATH'記述に違いが有るかテスト
----------------------------------------------------------
【システム構成】
WindowsXP SP2
eccube-2.0.1a
Apache2.2.8
mysql-5.0.51a
php-5.2.5

・利用したPCを仮にA~Dの4台とする
・ApacheディレクトリはC:/Apache2.2
・システム構成インストールフォルダ、httpd.conf、php.ini記述は一緒
・PC_Aの再インストール時は各フォルダに移動した
 php.ini、libmysql.dll、php5ts.dllなども含めアンインストール
----------------------------------------------------------

?PC_A
インストールの際にdata/install.php生成時に
下記のようにバグ記載。
('HTML_PATH', 'C:////////(省略)////htdocs/');

⇒('HTML_PATH', 'C:/Apache2.2/htdocs/');に書き直し解決

?PC_B〜D
該当記述問題なし。

?PC_A
Apache、php、MySQL、EC-CUBE全てアンインストールして
再度インストール。
⇒?と同じ症状になる⇒同作業で解決

?PC_A
?をもう一回
⇒?と同じ症状になる⇒同作業で解決
soesoe
投稿日時: 2008/3/19 14:41
対応状況: 解決済
新米
登録日: 2008/3/19
居住地:
投稿: 3
Re: 文字化け画像をUPしました
締め
soesoe
投稿日時: 2008/3/19 14:41
対応状況: −−−
新米
登録日: 2008/3/19
居住地:
投稿: 3
Re: 文字化け画像をUPしました
投稿者です。
今更ですが会員登録をしまた。

soesoeと申します。
よろしくお願い致します。

>>nanasses様

お返事ありがとうございます。

data/install.phpを確認してみたところ、
エラーに出ていたようなパスが入っていました。
(ApacheインストールはC:/Apache2.2/)
---------------------------------------------
install.php修正前
---------------------------------------------
<?php
define ('ECCUBE_INSTALL', 'ON');
define ('HTML_PATH', 'C:////////(省略)////htdocs/');
define ('SITE_URL', 'http://localhost/');
---------------------------------------------
install.php修正後
---------------------------------------------
<?php
define ('ECCUBE_INSTALL', 'ON');
define ('HTML_PATH', 'C:/Apache2.2/htdocs/');
define ('SITE_URL', 'http://localhost/');
---------------------------------------------

これで問題なく動きました!


>>ゲスト様

相対パスは現在位置からの相対(../???)かな?
などと的違いなことを考えていました。

勉強不足な点、返す言葉もありません。
EC-CUBEを機にPHPをはじめ、
サーバー周りの勉強もきちんとしようと考えております。

----------------------------------------------
皆様のおかげで無事インストールと言う第一歩を踏み出せました。
可能な限り自己努力で解決していくつもりですが、
これから学ぶ身のためまたご質問などさせて頂くかと思います。

今後ともよろしくお願い致します。
お返事を頂きました皆様、ご指導ありがとうございました。
ゲスト
投稿日時: 2008/3/19 10:56
対応状況: −−−
Re: 文字化け画像をUPしました
いや
そういうことじゃなくて
なんでSmartyのパスがc:apacheからなってるのかが問題ですよ。
ドライブ指定ではなくディレクトリで相対パス指定のはずです。
apacheのこと理解してますか?
通常であればhttp://127.0.0.1/data/Smarty/とかになるはずなのですが。
ローカル環境のことを勉強されたほうがいいと思いますよ。
私もWindowsでやってますけど、そういうエラーは皆無です

nanasess
投稿日時: 2008/3/19 9:01
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 文字化け画像をUPしました
data/install.php のパスもチェックした方が良いと思います.

EC-CUBE は, Windows にもインストールできますが, 基本的に UNIX 系 OS で動作するよう開発されているため, インストール後に修正する必要があります

また, Windows で動作させるのは, 少々敷居が高いです...
ゲスト
投稿日時: 2008/3/19 8:43
対応状況: −−−
Re: 文字化け画像をUPしました
>>ゲスト様
お返事ありがとうございます。

なるほど・・・参照パスですか・・・
設定と言うとhttpd.confかphp.iniしかないですよね。

エラーを見ると下記のようなphp.ini内記述が出ているので
まずはそこから参照パスの設定を追いかけてみます。

Failed opening '' for inclusion (include_path='.;c:/php/includes') in C:\Apache2.2\data....

「いや、見るところそこじゃないだろ」
など突込みがありましたらよろしくお願い致します。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.