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

Oracle 11g PHP oci_connect OCIEnvNlsCreate () में विफल रहता है

OCIEnvNlsCreate () विफल हो गया? नरक में आपका स्वागत है...

मुझे पता है कि धागा पुराना है, लेकिन समस्या अभी भी मौजूद है। और आमतौर पर इस समस्या के उत्तर तीसरे पक्ष की साइटों पर पुनर्निर्देशित होते हैं, आमतौर पर 404s ।

आइए समस्या से शुरू करते हैं। त्रुटि अपने आप में बहुत सामान्य है। इसका दस्तावेज़ीकरण "lib क्रैश ... पता नहीं क्यों" तक है। समाधान की एक विस्तृत श्रृंखला है, जिसमें "यहाँ यादृच्छिक भगवान का नाम सम्मिलित करें" को कॉन्फ़िगर करना, पुनः स्थापित करना और प्रार्थना करना शामिल है, लेकिन यह इन्हीं तक सीमित नहीं है।

यहां सबसे आम समाधानों की एक छोटी सूची है:

<मजबूत>1. वेरिएबल को अपनी .php फ़ाइल में रखें।

    putenv("LD_LIBRARY_PATH=$newld");

where $newld is the link to your library.

<मजबूत>2. वेरिएबल LD_LIBRARY_PATH निकालें , यदि मौजूद है (हाँ, जिस तरह से इसे 1 में दिखाया गया था), अपनी PHP फ़ाइल से और इसे अपने apache2.conf या httpd.conf या /etc/environment या पर्यावरण चर के लिए आपके वितरण/संस्करण में जो भी फ़ाइल है, में रखें। एक आसान गाइड यहां मिल सकता है या इंटरनेट पर हर जगह। क्यों?

जैसा कि इंस्टॉलेशन डॉक्स में बताया गया है। इसके अलावा बाद में अपाचे को पुनरारंभ करें। यह वितरण/संस्करण आधारित है, लेकिन संभवत:कमांड service httpd restart है ।

  1. oci8 को पुनर्स्थापित करें . जितनी बार लगे। जबरदस्ती मत करो। जबरदस्ती ही इसे बदतर बनाती है। इसके अलावा, इसे संकलित करने का प्रयास करें (उर्फ डाउनलोड पैकेज का उपयोग करें ./configure -'all the fancy commands you'll need to use' और फिर make install )

  2. सुनिश्चित करें कि आपको सही LD_LIBRARY_PATH मिला है . मजेदार बात कहनी है, है ना? आपने शायद ध्यान नहीं दिया कि oracle ने client/lib/ . फोल्डर बनाया है न भिन्न स्थानों . में जिसमें कमोबेश एक जैसी फाइलें हैं, और उनके बीच एकमात्र अंतर यह है कि उन फ़ोल्डरों में से किसी एक को छोड़कर सभी को चुनने से उल्लिखित त्रुटि होगी . स्वच्छता जांच?

  3. php/apache को पुनर्स्थापित करें . यह संभव है कि आपके पास कुछ पुरानी स्थापना थी जो समस्या पैदा कर रही है। तो उपयोग करें apt-get purge php* या yum remove php* या जो कुछ भी आपके वितरण के लिए वही चाल है, वह एक अच्छी शुरुआत होगी।

संपादित करें PHP अपग्रेड के बाद समस्या फिर से हो गई, इस बार एक अलग समाधान के साथ।

  1. SYSCONFIG संपादित करें फ़ाइल संपादित करें /etc/sysconfig/httpd. उन 2 पंक्तियों को अंत में जोड़ें:

    निर्यात LD_LIBRARY_PATH=/path/to.libexport ORACLE_HOME=/path/to/home

  2. छोड़ दें और मैनुअल पढ़ें इसे यहां पाया जा सकता है।

अगर इनमें से कोई भी चीज़ मदद नहीं करती है, तो बेझिझक दुख की दीवार ब्राउज़ करें। , समाधान के लिए...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑरैकल में मिलान स्ट्रिंग के बाद संख्या वापस करने के लिए नियमित अभिव्यक्ति

  2. अनुक्रमित संख्या कॉलम पर 'पसंद' का उपयोग कर ओरेकल क्वेरी, खराब प्रदर्शन

  3. डेटाबेस कॉलम में बिट फ़्लैग के लिए कोई नुकसान?

  4. Oracle SQL इन्सर्ट विथ क्लॉज

  5. क्यों यह त्रुटि आ रही है? 'VALUE.VALUE_TX' में नल नहीं डाला जा सकता