localhost開発環境からステージングサーバーに展開した後、私たちのサイトにバグが発見されました。 は、我々は次のPHPコードスニペットにバグを絞り込む:
$_SERVER['HTTP_HOST']
私たちは、当社のウェブサイトで使用されるさまざまなファイルへのパスを構築するためにそれを使用します。例えば
:ここ
// EXAMPLE #1 -- THIS WORKS ON OUR LOCAL MACHINE
$theSelectedImage = "http://" . $_SERVER['HTTP_HOST'] . "/ourWebSite/egyptVase.png";
// EXAMPLE #2 --BUT IT MUST BE THIS TO WORK ON THE STAGING SERVER
$theSelectedImage = "http://" . $_SERVER['HTTP_HOST'] . "/egyptVase.png";
が問題の核心である:私達のローカルホストマシン、$ _SERVERに
[ 'HTTP_HOST']は 'localhostの' に解決 - 上記の例#1に示すように、Webサイトのフォルダ名を追加する必要があることに注意してください。 I.私たちのlocalhostマシンでは、$ _SERVER ['HTTP_HOST']はです。にはウェブサイトのフォルダが含まれています。追加する必要があります。
私たちのステージングサーバー上で、$ _SERVER [ 'HTTP_HOST']は 'www.ourWebSite.com' に解決されます。 この場合、何も追加する必要はありません。ステージングWebサーバーはWebサイトのフォルダを返します。
私たちは、いくつかのクルージーな魅力的な「批判的なコードレビュー」の回避策を考えましたか?はい。
しかし、私はそこに良い方法があると思います - どんなアイデアですか?
WebサーバーとしてApacheを使用していますか?いずれの場合でも、両方のホストが同じドキュメントルートを持っているようであれば、この問題は発生しません。 – kclair
はい、ApacheとPHPのvers.5は、ローカルサーバーとステージングサーバーの両方にあります。 – wantTheBest