पृष्ठभूमि
में अपाचे वातावरण चर प्राप्त नहीं कर सकते मैं एक अपाचे/2.2.15 PHP/5.3.2 के साथ (Win32) की स्थापना की, प्रमाणीकरण से निपटने की है।पीएचपी
<Directory /usr/www/myhost/private>
# core authentication and mod_auth_basic configuration
# for mod_authn_dbd
AuthType Basic
AuthName "My Server"
AuthBasicProvider dbd
# core authorization configuration
Require valid-user
# mod_authn_dbd SQL query to authenticate a user
AuthDBDUserPWQuery "SELECT Password,UserName,Realm,Access FROM authn WHERE user = %s"
</Directory>
प्रमाणीकरण ठीक काम करता है! कोई समस्या नहीं।
लेकिन documentation करने के बारे में किसी भी अतिरिक्त क्षेत्र AuthDBDUserPWQuery से वापस पर्यावरण में एक AUTHENTICATION_fieldname चर में रखा जाएगा लौट आए।
phpinfo()
के साथ, मैं इन चरों को "अपाचे पर्यावरण" के तहत सही मानों के साथ देख सकता हूं।
AUTHENTICATE_USERNAME
AUTHENTICATE_REALM
AUTHENTICATE_ACCESS
समस्या
मैं अपने php से उन वातावरण चर को नहीं लाया जा सकता है।
1 <?php
2 $Access = apache_getenv('AUTHENTICATE_ACCESS',true);
3 var_dump($Access);
4 ?>
लाइन 3 प्रिंट bool (गलत) यह दर्शाता है कि चर नहीं मिला था!
हालांकि अगर मैं किसी अन्य अपाचे पर्यावरण चर जैसे 'HTTP_HOST' में बदलता हूं तो यह काम करता है।
.. और हाँ, मैंने getenv()
भी कोशिश की है, वही परिणाम।
यह भी एक नोट है कि अपाचे सर्वर को काम करने के लिए एपीआर 1.3.0 के साथ संकलित करने की आवश्यकता है। मैंने Apache msi को httpd.apache.org से बनाया है और ऐसा लगता है कि यह संस्करण 2 के ऊपर एपीआर के साथ संकलित किया गया है। क्योंकि मैं उन्हें phpinfo()
के साथ देख सकता हूं, उन्हें PHP से एक्सेस किया जाना चाहिए।
* \ [♦ नोट: इस टिप्पणी के संदर्भ के लिए [संशोधन इतिहास] (http://stackoverflow.com/posts/4308886/revisions) देखें।] * हम आमतौर पर किसी के अंग्रेजी के बारे में ज्वाला नहीं करते हैं (आपका सुंदर है अच्छा) और यदि आपका कोड स्वरूपण किसी को चूसता है तो शायद इसे संपादित कर देगा ताकि यह अच्छी तरह से पठनीय हो। इसके अतिरिक्त एसओ वह जगह नहीं है जहां लोगों को Google/rtfm - googling/rtfming के बारे में बताया जाता है, जो लोग जवाब दे सकते हैं, क्योंकि वे ऐसा करने के लिए कह रहे हैं, इसके लिए इसके लिए प्रतिनिधि हैं, तो संभवतः -rep में परिणाम होगा। : पी – ThiefMaster
मेरे पास आपके प्रश्न का कोई जवाब नहीं है, लेकिन मैंने कभी भी एसओ पर सबसे अच्छा संरचित प्रश्न रखने के लिए +1 किया है। –
पूरी तरह से वैध सवाल, इतनी रक्षात्मक होने की आवश्यकता नहीं है। :) आरटीएफएम उत्तरों आमतौर पर अधिक, * अधिक * बदतर (गैर-) प्रश्नों के लिए आरक्षित होते हैं। – deceze