1

私は OpenCart (1.5.0 だと思います) で構築された e コマース サイトを持っています。Alexa.com からトラッキング コードを挿入した後、別のサイトにリダイレクトするためのコード ブロックが完全に空白になりました。最初はうまくいったので、バックアップを上書きしても安全だと感じました。しかし、ページを更新した後、空白になり、すべてのブラウザー (firefox、chrome、safari) の「ソースを表示」オプションで、それらに到達するコードがないことが明らかになりました。次に、一連のデバッグ手順に従い始めました。

  1. テキストエディタがまだ開いていたので、すべての変更を元に戻し、変更なしで再アップロードしました
  2. 文書をスキャンして、テキストに問題がないことを確認しました。発見はありませんでした
  3. W3C 検証を実行しましたが、1-文字エンコーディングがなく、2-解析モードを決定できないという 2 つの警告がありました。
  4. サーバー側の復元のためにホストに連絡しましたが、最初のバックアップは問題が始まった翌日でした (復元を開始するまでに 3 日間の議論が必要でした)。

これらの検証警告に関して、OpenCart、ASCII、または UTF-8 (バリデーターが頼ったもの) にどのエンコーディングを使用するべきか、または何を使用すべきかわかりません。さらに、OpenCart で使用されるテンプレートがそれと競合するかどうかもわかりません。エンコーディングを宣言するとします。さらに、このように広く配布されている製品がこれほど単純なもので大きな間違いを引き起こすとは信じがたいと思います。

解析モードに関しては、インデックス ページで解析モードが宣言されています (含まれているヘッダー ファイル内)。

これらすべてに加えて、バリデーターはコードをまったく受信していないと主張しているため、そのルートを介して問題を特定する可能性はありません。

ヘッダーとフッターの両方がこれらの追加のために編集されましたが、これに含めるには比較的長いです. <!-- tracking code here -->編集に使用されたコードは、ヘッダー ファイルのヘッド セクションに挿入されたalexaの場合で、フッターのコードは次のとおりです。

     <span style="display:inline-block;width:160px;height:30px;text-align:center;border:#000 1px dotted;font-family:Arial,Helvetica,sans-serif;font-size:11px;background-color:#FFFFFF;"><strong style="display:block;padding:0px;margin:0px;">Reputation Management</strong><a href="http://www.submitexpress.com/" title="Submit Express - Search Engine Optimization Services" style="font-family:Arial,Helvetica,sans-serif;font-size:11px;">Submit Express</a></span>

これ以上コードが必要な場合は、私に知らせてください。問題を解決する人を探しているのではなく、自分で問題を解決するのに役立つ関連するヒントを提供してくれる人を探しています。同じデバッグ方法を使用できるかもしれません。ありがとう!

編集:ジェイのおかげで発見された問題は、「PHP 通知: 未定義のインデックス: HTTP_HOST in * */public_html/graphic-shack.com/index.php 40 行目」であり、Google 検索では有効な結果が得られませんでした。これは、私の訓練されていない心にはジベルです.40行目は実際には空白行であるため、明確化していただければ幸いです. com/example.html

4

1 に答える 1

1

Open Cart は全体で UTF-8 を使用するため、テーマがブラウザーに設定する必要があるものを使用するのが間違いなく最善です。そうでない場合は、次のようなことをする必要があります

php_flag  log_errors on
php_value error_log  /path/to/custom/error.log

.htaccess ファイルで、すべての php エラーをファイルに記録できるようにします。これは、ファイルを取得できる場所である必要があるため、それに応じてパスを変更して表示できるようにします。それができたら、問題を解決するための優れた基盤ができあがります。コードを追加したために opencart が停止したとは信じがたいです。最も可能性の高い原因は、ファイルが見つからない、空白になっている、または保存時に誤って半分書き込まれたか、または必要のない場所に余分な php コードがあることです。

== テスト.PHP コンテンツ ==

<?php
echo '<pre>' . print_r($_SERVER, true) . '</pre>';
?>
于 2011-11-21T16:51:11.677 に答える