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

Impossibile caricare la libreria dinamica 'C:\xampp\php\ext\php_oci8.dll' - %1 non è un'applicazione Win32 valida

Il tuo errore mostra una mancata corrispondenza del tipo predefinito.

Risolvilo seguendo questi passaggi:

Assicurati di scaricare e installare Oracle instantclient a:http://www.oracle.com/technetwork/topics/winsoft -085727.html , ma nota:

  1. Prendi nota del tuo Oracle versione del database; usa la versione 12.1.x per il database Oracle 12c e Versione 11.1.x per 11 g versioni.
  2. In entrambi i casi, assicurati di scaricare Basic Lite versione del client istantaneo Oracle.

Successivamente, aggiungi la posizione del tuo client istantaneo Oracle al percorso della variabile di sistema in Variabili d'ambiente. Assicurati di avere entrambi i PHP del tuo xampp e il suo est disponibili e impostati anche lì (in caso contrario, aggiungili).

Quindi, procedi con l'aggiunta di una nuova variabile di sistema con TNS_ADMIN come nome variabile e la posizione del client istantaneo Oracle come valore variabile .

Inoltre, definisci le tue variabili utente PATH con la stessa posizione su Oracle InstantClient come valore .

Dopo questa fase, riavvia il computer per una propagazione completa delle variabili di ambiente appena definite.

Una volta acceso, puoi aprire il tuo Prompt dei comandi di Windows ed esegui dove oci* per assicurarti di avere le tue variabili d'ambiente ben definite; la risposta dovrebbe assomigliare a questa:

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

In caso contrario, devi esserti perso qualcosa e devi rivedere il processo, assicurandoti di completarlo in modo efficace.

Ora puoi procedere al tuo file php.ini (a condizione che le variabili di ambiente siano ben definite) e abilitare il tuo oci estensioni (php_oci8.dll e php_oci8_11g.dll) decommentandole; puoi ottenerlo semplicemente rimuovendo la semicolonna (; ) prima di dette proroghe.

Ricordati di salvare il tuo file php.ini, quindi riavvia o avvia il tuo apache se non è già in esecuzione.

Per verificare che le tue configurazioni PHP oci8 siano abilitate, puoi tornare al prompt dei comandi di Windows ed eseguire:php --ri oci8; la risposta dovrebbe essere simile a quella qui sotto:

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

In alternativa, puoi creare un file PHP con <?php phpinfo(); ?> come contenuto, quindi aprilo nel tuo browser e cerca le occorrenze oci8; dovrebbe essere abilitato anche lì.