बस संदर्भ मुख्य प्रश्न को स्पष्ट करने के लिए में डालने पर एक संकलित php-cgi के साथ एक .htaccess में getenv() php और setenv में उपयोग कैसे करें:एक साझा मेजबान
मेरे विकास मशीन पर, PHP5.3.1 है मॉड्यूल के रूप में अपाचे पर स्थापित, मैं अपने अनुप्रयोग की रूट .htaccess फ़ाइल में SetEnv APPLICATION_ENVIRONMENT विकास का उपयोग करता हूं। इसके बाद getenv ('APPLICATION_ENVIRONMENT') के साथ किसी भी php स्क्रिप्ट से आसानी से पुनर्प्राप्त किया जा सकता है।
उत्पादन सर्वर पर, साझाहोस्ट (सपनेहोस्ट) पर, मैंने स्वयं को php5.3.1 संकलित किया क्योंकि यह सीधे समर्थित नहीं था। सब कुछ ठीक काम करता है सिवाय इसके कि getenv ('APPLICATION_ENVIRONMENT') झूठी रिटर्न देता है।
अपने डोमेन के लिए sharedhost जड़ .htaccess में, मैं इस .htaccess फाइल
Options +ExecCGI
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi
<FilesMatch "^php5?\.(ini|cgi)$">
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</FilesMatch>
Options -indexes
php5.cgi/cgi-bin में रहता है और बहुत अच्छी तरह से काम करता है का उपयोग करें। अपने आवेदन के रूट फ़ोल्डर में बेशक मैं एक .htaccess परिभाषित किया है:
SetEnv APPLICATION_ENVIRONMENT production
लेकिन यह गलत लौटाता है जब getenv ('APPLICATION_ENVIRONMENT') का उपयोग कर, किसी भी विचार कैसे इस को हल करने?
बस अनुमान लगा रहा है: हो सकता है कि आपका होस्ट इस निर्देश को .htaccess फ़ाइलों में ओवरराइड करने की अनुमति न दे? –