2012-09-24 13 views
6

मैंने अपने वीपीएस के PHP संस्करण को अपडेट करने का प्रयास किया लेकिन यह काम नहीं किया और मेरे प्रदाता ने मेरी मदद नहीं की, इसलिए मैंने इसे पिछले संस्करण में डाउनग्रेड किया।

अब मैं PHP 5.2.17 (क्ली) के साथ काम कर रहा हूं। सब कुछ इस संस्करण में ठीक से काम कर रहा था।

इस अपग्रेड और डाउनग्रेड के बाद, परिवर्तनीय $_SERVER['PHP_AUTH_USER'] खाली है। (Php.ini में, register_globals 'चालू' है और $_SERVER['PHP_SELF'] ठीक से काम कर रहा है)।

यह मुझे सही ढंग से मेरा उपयोगकर्ता नाम और पासवर्ड पूछता है और मुझे कनेक्ट करने में सफलता है, लेकिन मुझे $_SERVER['PHP_AUTH_USER'] का उपयोग करने की आवश्यकता है।

मैंने $_SERVER['PHP_AUTH_USER'], $_SERVER['AUTH_USER'], $_SERVER['REMOTE_USER'] अखरोट कोई भी काम नहीं कर रहा है। (लेकिन मुझे कोई त्रुटि नहीं मिल रही है, बस एक खाली मूल्य ...)

उत्तर

12

मैं अंत में 'mbinette' का जवाब धन्यवाद पाया।

मेरे PHP कॉन्फ़िगरेशन में, PHP 5 का हैंडलर CGI था, और इस प्रकार का प्रमाणीकरण PHP CGI के साथ काम नहीं करता है। इसलिए मैंने इसे एसयूपीएचपी में बदल दिया (जिसे एपैच पर डिफ़ॉल्ट माना जाता है)।

Find here सीजीआई और PHP_AUTH का उपयोग करने का एक तरीका बताते हुए एक पोस्ट, लेकिन मैंने कोशिश की और यह काम नहीं कर रहा था।

Find here php संचालकों के बारे में कुछ स्पष्टीकरण

+0

खुशी है कि आपको समाधान मिला! मुझे ईमानदारी से यह नहीं पता था कि यह क्या हो सकता है (केवल एकमात्र समस्या जो मैंने कभी सुरक्षित मोड की वजह से की थी) ..! चीयर्स! – mbinette

+0

मदद के लिए धन्यवाद! – BastienSander

+0

लिंक काम नहीं करते –

3

सुरक्षित मोड सक्रिय है? यही कारण है कि आपकी समस्या हो सकती है ...

पीएचपी 4.3.0 के रूप में, आदेश में एक स्क्रिप्ट जो एक पेज है कि एक पारंपरिक बाहरी तंत्र के माध्यम से प्रमाणीकृत किया गया, PHP_AUTH के लिए पासवर्ड का पता चलता है लेखन से किसी को रोकने के लिए चर को सेट नहीं किया जाएगा यदि उस विशेष पृष्ठ के लिए बाहरी प्रमाणीकरण सक्षम है और सुरक्षित मोड सक्षम है। भले ही, REMOTE_USER का उपयोग बाहरी रूप से प्रमाणीकृत उपयोगकर्ता की पहचान के लिए किया जा सकता है। तो, आप $ _SERVER ['REMOTE_USER'] का उपयोग कर सकते हैं।

स्रोत: http://php.net/manual/en/features.http-auth.php

+0

मेरी php.ini फ़ाइल में, मेरे पास है: सेफ_मोड = बंद – BastienSander

+0

क्या आप वाकई समस्या पीएचपी से आता है? (और ऐसा कुछ नहीं: http://stackoverflow.com/questions/5037046/serverphp-auth-user-empty?)। साथ ही, क्या आप सुनिश्चित कर सकते हैं कि त्रुटि_ रिपोर्टिंग चालू है और इससे पहले कि इसमें कोई त्रुटि नहीं डाली जा रही है? – mbinette

+0

error_reporting = E_ALL और ~ E_NOTICE और display_errors = – BastienSander

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