2012-10-07 14 views
6

私が読んだところでは、$_SERVER['REQUEST_URI']ではなく、常にに戻りますが、成功率はどれくらい良いのでしょうか?それは平均的なクライアントのための大半のケースで動作しますか?

REQUEST_URIにはクエリ文字列が含まれていないとは何ですか?

+6

通常、0%または100%です。サーバーによって異なります。 –

+1

'$ _GET'の何が問題なのですか? –

+0

@WesleyMurch:それは完全にサーバーまでありますか?それは私のために働いているようだ。それは、それがどのユーザーにとってもうまくいくと想定するのは安全だということですか? –

答えて

6

あなたが尋ねた:

を何、何かあれば、REQUEST_URIが投入されていないために原因でしょうか?私は考えることができる

回答:

  1. WebサーバがPHPにすべて$_SERVER値を提供するので、サーバがそれらを提供しない場合、それらは設定されません。これはまともなWebサーバーではほとんど起こりそうにないものの、可能です。

  2. PHPプログラムをコマンドラインから実行すると、$_SERVERという値はありません。 (あなたがベストプラクティスと書き込みユニットテストを以下している場合、それは問題ありませんので、ユニットテストは、一般的に、コマンドラインから実行していることをあなたはこの心配じゃない場合、念頭に置いてクマで)

1

REQUEST_URIに何も入力されない原因は何ですか?

https://bugs.launchpad.net/xibo/+bug/654536 

は(IISの修正についての記事があります:

A Google検索では、これがIISの場合となっているために(しかし、その後、本当だったものを、今ではないかもしれません)を示しているようです:http://davidwalsh.name/iis-php-server-request_uri

など、「サーバー」がウェブサーバー(デバッグサーバープラグインなど)でない場合もあります。

に気付きましたが、それほど知られていない古いバージョンのWebサーバー(lighthttpd、iPlanet Web Server 7.0)ではバグと見なされます()。

私は、変数が常に入力されることを合理的に確信できると信じています。もちろん、事前に警告するために、できるだけ早く顧客のサイトで実行するための非常に小さなテストスクリプトを準備することが賢明でしょう。

関連する問題