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

Kan ikke indlæse det dynamiske bibliotek 'C:\xampp\php\ext\php_oci8.dll' - %1 er ikke et gyldigt Win32-program

Din fejl viser en indbygget type uoverensstemmelse.

Løs det ved at følge disse trin:

Sørg for at downloade og installere oracle instantclient på:http://www.oracle.com/technetwork/topics/winsoft -085727.html , men bemærk:

  1. Bemærk dit Oracle database version; brug Version 12.1.x til Oracle-database 12c og Version 11.1.x for 11g udgivelser.
  2. I begge tilfælde skal du sørge for at downloade Basic Lite version af Oracle instantclient.

Derefter skal du tilføje placeringen af ​​din Oracle-instantclient til din systemvariablesti under dine miljøvariabler. Sørg også for, at du har både PHP'en for din xampp og dens ekst. tilgængelige og indstilles der også (hvis ikke, så tilføj dem).

Fortsæt derefter med at tilføje en ny systemvariabel med TNS_ADMIN som variabelnavn og placeringen til Oracle instantclient som variabel værdi .

Definer også dine brugervariable PATH med den samme placering til Oracle instantclient som værdi .

Efter dette trin skal du genstarte din computer for en fuld udbredelse af de nyligt definerede miljøvariabler.

Når du er tændt, kan du åbne din Windows kommandoprompt og kør hvor oci* for at sikre, at du havde dine miljøvariabler veldefinerede; svaret skal se sådan ud:

C:\Users\flex>where oci*

C:\oraclexe\app\oracle\product\11.2.0\server\bin\oci.dll
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.dll
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.sym
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ociw32.dll
C:\instantclient_11_2\oci.dll
C:\instantclient_11_2\oci.sym
C:\instantclient_11_2\ocijdbc11.dll
C:\instantclient_11_2\ocijdbc11.sym
C:\instantclient_11_2\ociw32.dll
C:\instantclient_11_2\ociw32.sym

Hvis ikke, må du være gået glip af noget og nødt til at gense processen for at sikre, at du gennemfører den effektivt.

Du kan nu fortsætte til din php.ini-fil (forudsat at miljøvariabler er veldefinerede) og aktivere din oci udvidelser (php_oci8.dll og php_oci8_11g.dll) ved at fjerne kommentarerne; du kan opnå det ved blot at fjerne semi-kolonnen (; ) før de nævnte udvidelser.

Husk at gemme din php.ini-fil, og genstart eller start din apache, hvis den ikke allerede kører.

For at kontrollere, at dine PHP oci8-konfigurationer er aktiveret, kan du gå tilbage til din Windows-kommandoprompt og køre:php --ri oci8; svaret skal ligne nedenstående:

C:\Users\flex>php --ri oci8

OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.1.1
Revision => $Id: 86f22a208f89dcd5b305e82929a7429683968b11 $
Oracle Run-time Client Library Version => 11.2.0.4.0
Oracle Compile-time Instant Client Version => 10.2

Directive => Local Value => Master Value
oci8.max_persistent => -1 => -1
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
oci8.default_prefetch => 100 => 100
oci8.old_oci_close_semantics => Off => Off
oci8.events => Off => Off

Statistics =>
Active Persistent Connections => 0
Active Connections => 0

Alternativt kan du oprette en PHP-fil med som indhold, åbn det derefter i din browser og søg efter oci8-forekomster; den skulle også vise aktiveret der.



  1. Konverter decimaler gemt som varchar til datetime

  2. Godt databasedesign, variabelt antal attributter

  3. Erstat rækkeværdien med tom streng, hvis dubleret

  4. Eksporter en hel SQLite-database til en SQL-fil