2011-07-11 16 views
7

ईमानदारी से, मुझे PHP के बारे में बहुत कुछ पता नहीं है लेकिन मुझे लगता है कि मुझे जो करना है वह अपेक्षाकृत सरल है।PHP अनुरोध कैसे विफल करें

मैं आईओएस ऐप में ASIHTTPRequest http://allseeing-i.com/ASIHTTPRequest/ का उपयोग कर रहा हूं। मुझे बस अपनी PHP स्क्रिप्ट में कोड जोड़ने की आवश्यकता है जो अनुरोध विफल कर देगा, इसलिए अनुरोध को कॉल करना एएसआई की विफल प्रतिनिधि विधि। मुझे लगता है कि यह एक HTTP प्रतिक्रिया कोड के साथ है, लेकिन मैंने जो भी प्रयास किया है, वह परिणामस्वरूप सफल होने का अनुरोध करता है। मुझे यकीन है कि मैं कुछ गलत कर रहा हूं लेकिन मुझे वास्तव में PHP नहीं पता है।

मैं

trigger_error("error yo", E_USER_ERROR); 
die; 

साथ ही

header("HTTP/1.0 404 Not Found"); 
die; 
+0

मैंने कोड में थोड़ा सा देखा लेकिन खो गया था। मेरा अनुमान है कि "असफल अनुरोध" की परिभाषा एक बार है। –

+0

आप ऐसे पृष्ठ तक पहुंचने का प्रयास क्यों नहीं करते हैं जो यह देखने के लिए मौजूद नहीं है कि क्या विफलता सही तरीके से संभालती है? –

उत्तर

1

मैं का उपयोग कर इस

header('HTTP/1.1 401 Unauthorized'); 

बाहर कर देता है एएसआई प्रमाणीकरण को छोड़कर सबसे HTTP प्रतिक्रिया कोड संभाल नहीं करता है और ले जाया गया समाप्त हो गया।

1

trigger_error होगा उत्पादन नहीं हेडर की कोशिश की है। हेडर() होगा।

लेकिन, हेडर() केवल तभी काम करेगा जब ब्राउज़र पर पहले से कोई आउटपुट भेजा न जाए। आपकी सबसे अच्छी शर्त यह सुनिश्चित करने के लिए कि चीजें काम कर रही हैं, सीधे अपने ब्राउज़र में यूआरएल तक पहुंचना है। साथ ही, सुनिश्चित करें कि आपकी php.ini कॉन्फ़िगरेशन फ़ाइल में, display_errors चालू है। कुछ PHP वितरण डिफ़ॉल्ट रूप से बंद हो गए हैं।

+0

'display_errors' को 4xx या 5xx त्रुटि कोड के लिए आवश्यक नहीं है, और उत्पादन वातावरण में सक्षम नहीं होना चाहिए, आपको संभावित रूप से संवेदनशील जानकारी का खुलासा करने के लिए स्क्रिप्ट किड्स होंगे। –

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