2012-10-07 14 views
6

जो मैंने पढ़ा है, ऐसा लगता है कि $_SERVER['REQUEST_URI']हमेशा वापसी क्वेरी स्ट्रिंग ठीक से नहीं है, लेकिन क्या किसी को भी सफलता की दर क्या है? क्या यह औसत ग्राहक के लिए अधिकांश मामलों में काम करेगा?

क्या, यदि कुछ भी हो, तो REQUEST_URI को पॉप्युलेट नहीं किया जाएगा या क्वेरी स्ट्रिंग शामिल नहीं होगा?

+6

आमतौर पर यह 0% या 100% है। सर्वर पर निर्भर करता है। –

+1

'_ _GET' के साथ क्या गलत है? –

+0

@WesleyMurch: तो यह पूरी तरह से सर्वर पर है? ऐसा लगता है कि मेरे लिए काम कर रहा है। क्या इसका मतलब यह मानना ​​सुरक्षित है कि इसे किसी भी उपयोगकर्ता के लिए काम करना चाहिए? –

उत्तर

6

आप से पूछा:

बात, यदि कोई, REQUEST_URI कारण होगा करने के लिए तैयार नहीं हुआ जा सकता है?

जवाब है कि मैं के बारे में सोच सकते हैं:

  1. वेब सर्वर इसलिए यदि सर्वर उन्हें प्रदान नहीं करता है, तो वे सेट नहीं होंगे, पीएचपी करने के लिए सभी $_SERVER मूल्यों प्रदान करता है। यह किसी भी सभ्य वेब सर्वर के साथ बेहद असंभव है, लेकिन यह संभव है।

  2. यदि आप कमांड लाइन से एक PHP प्रोग्राम चलाते हैं, तो इसमें $_SERVER मान नहीं होंगे। (यदि आप नहीं इस बारे में चिंतित, भालू मन में रहे कि इकाई परीक्षण एक कमांड लाइन से आम तौर पर चलाए जा रहे हैं, ताकि आप सर्वोत्तम प्रथाओं और लेखन इकाई परीक्षण का पालन कर रहे हैं अगर यह फर्क पड़ता है)

1

क्या, यदि कुछ भी हो, तो REQUEST_URI को पॉप्युलेट नहीं किया जाएगा?

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

(वहाँ आईआईएस के लिए एक निदान के बारे में एक लेख है:

एक गूगल खोज से संकेत मिलता है इस आईआईएस के मामले में हुआ करने के लिए है (लेकिन क्या सच था तो, अब नहीं हो सकता है) लगता है : http://davidwalsh.name/iis-php-server-request_uri)

साथ ही अन्य मामलों में "सर्वर" आपका मानक वेब सर्वर नहीं था (उदाहरण के लिए डीबगिंग सर्वर प्लगइन इत्यादि)।

यह देखा गया था लेकिन वेब सर्वर के कम ज्ञात या पुराने संस्करणों में एक बग माना जाता है (lighthttpd, iPlanet वेब सर्वर 7.0)।

तो मेरा मानना ​​है कि आप उचित रूप से सुनिश्चित कर सकते हैं कि चर हमेशा पॉप्युलेट होने जा रहा है। बेशक, सावधानी बरतने के लिए जितनी जल्दी हो सके ग्राहक की साइट पर चलाने के लिए एक बहुत ही छोटी टेस्ट स्क्रिप्ट तैयार करना बुद्धिमान होगा।

संबंधित मुद्दे