質問 > フロント機能 > フロント画面でモジュールが全文字化けします |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2008/3/21 7:27
対応状況: −−−
|
Re: 文字化け画像をUPしました Windowsのローカルでもテストしてるけど
Cドライブからの絶対パスでは普通はしませんよ。 普通にルートディレクトリからの設定でOKでしょ。 アパッチの設定が普通にできていれば、通常のHTMLだって Cドライブから記述しませんよ。 |
|
ゲスト |
投稿日時: 2008/3/21 0:59
対応状況: −−−
|
Re: 文字化け画像をUPしました 引用:
症状だけ見ていると、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. 引用:
との事なので、magic_quotes_gpcの設定も同じと考えられる。この場合、上記説明はまったく不適。 2. インストール処理は最後まで、html/install/index.phpで行われます。すなわち、いつでも __FILE__は同じ値を取りますので、POST等で再取得する意味が全くありません。というかむしろフォーム値から取るべきではありません。そんな実装になっている わ け が な い という風に思います。 # 未確認です。 以上、一応思いつきましたので、あくまで仮説として、開発者および利用者のご参考になれば幸いです。 |
|
ゲスト |
投稿日時: 2008/3/20 23:29
対応状況: −−−
|
Re: 文字化け画像をUPしました 引用:
いや、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 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |