PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पहले से परिभाषित पर्यावरण चर पर putenv () की आवश्यकता क्यों है?

इसका कारण यह है:

आपको getenv()[PHP] . से मिलने वाले पर्यावरण मान (php फ़ंक्शन) आपके द्वारा क्वेरी किए गए परिवेश से भिन्न हैं getenv()[C] (सी lib समारोह)। क्या getenv()[PHP] करता है, मैच के लिए पंजीकृत सैपी के साथ जाँच कर रहा है (http ://lxr.php.net/xref/PHP_5_6/ext/standard/basic_functions.c#3999 )

apache2 sapi अपने स्वयं के पर्यावरण संदर्भ के माध्यम से ऐसा करता है (http://lxr.php.net/xref/PHP_5_6/sapi/apache2handler/sapi_apache2.c#253 ), अपाचे प्रक्रिया से ही मानक OS वातावरण नहीं।

केवल जब कोई मिलान नहीं मिलता है, तो यह वास्तविक प्रक्रिया के वातावरण की जाँच करेगा। इसलिए getenv()[PHP] एक मान देता है, लेकिन getenv()[C] नहीं।

अब, "हैक" भी आसान है:putenv()[PHP] , दी गई कुंजी/मान को चल रही प्रक्रिया के वातावरण में संग्रहीत करता है, यही वजह है कि इसे बाद में getenv()[c] द्वारा खोजा जा सकता है ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रमाणीकरण प्रणाली के साथ PostgreSQL को एकीकृत करना

  2. फीनिक्स के साथ एक्टो क्वेरी में श्रेणी के अनुसार अधिकतम तिथि समूह के साथ आईडी का चयन कैसे करें?

  3. पोस्टग्रेज ट्रिगर फंक्शन

  4. PLpgSQL किसी दिए गए तालिका में केवल NULL मान वाले कॉलम खोजने के लिए कार्य करता है

  5. पोस्टग्रेएसक्यूएल फ़ंक्शंस का परीक्षण करना जो refcursor का उपभोग और वापसी करता है