sql >> Database teknologi >  >> RDS >> Oracle

Oracle 11g PHP oci_connect fejler OCIENvNlsCreate()

Mislykkedes OCIENvNlsCreate()? Velkommen til helvede...

Jeg ved godt, at tråden er gammel, men problemet er stadig til stede. Og normalt omdirigerer svarene på dette problem til tredjepartswebsteder, normalt 404s.

Lad os starte med problemet. Fejlen i sig selv er ret generisk. Dens dokumentation opsummerer til "lib crashed ... ved ikke hvorfor". Der er en bred vifte af løsninger, herunder, men ikke begrænset til, konfiguration, geninstallation og bede om at "indsætte tilfældigt gudsnavn her".

Her er en kort liste over de mest almindelige løsninger:

1. Indsæt variablen i din .php-fil.

    putenv("LD_LIBRARY_PATH=$newld");

where $newld is the link to your library.

2. Fjern variablen LD_LIBRARY_PATH , hvis den findes (ja, sådan som den blev vist i 1.), fra din php-fil og placer den i din apache2.conf eller httpd.conf eller /etc/environment eller hvilken fil din distribution/version har til miljøvariablerne. En simpel vejledning kan findes her eller overalt på internettet. Hvorfor?

som angivet i installationsdokumenterne. Genstart også apache bagefter. Det er distributions-/versionsbaseret, men kommandoen er sandsynligvis service httpd restart .

  1. Geninstaller oci8 . Så mange gange som det tager. Tving det ikke. At tvinge gør det kun værre. Prøv også at kompilere det (også download pakken, brug ./configure -'all the fancy commands you'll need to use' og derefter make install ).

  2. Sørg for, at du har den rigtige LD_LIBRARY_PATH . Sjovt at sige, ikke? Du har sandsynligvis ikke bemærket, at oracle oprettede mappen client/lib/N forskellige steder som indeholder mere eller mindre de samme filer, og den eneste forskel mellem dem er, at valg af alle på nær én af disse mapper vil resultere i den nævnte fejl . Sundhedstjek?

  3. Geninstaller php/apache . Det er sandsynligt, at du har haft en gammel installation, der forårsager problemer. Så brug apt-get purge php* eller yum remove php* eller hvad der gør det samme trick for din distribution, vil være en god start.

REDIGER Efter PHP-opgraderingen opstod problemet igen, denne gang med en anden løsning.

  1. REDIGER SYSCONFIG Rediger filen /etc/sysconfig/httpd. Tilføj disse 2 linjer til sidst:

    eksporter LD_LIBRARY_PATH=/path/to.libexport ORACLE_HOME=/path/to/home

  2. GIV OP OG LÆS MANUALEN den kan findes her .

Hvis ingen af ​​disse ting hjælper, er du velkommen til at gennemse muren af ​​sorg , for en løsning...



  1. MYSQL 5.5 Drop Primary Key

  2. hvordan man konfigurerer SQL Server maks. hukommelsesforbrug

  3. Brug af net/ssh/gateway til at etablere ssh-tunnel til mysql

  4. Simple Rails App:Fejl Kan ikke besøge Integer