sql >> Base de Datos >  >> RDS >> Oracle

No se puede cargar la biblioteca dinámica 'C:\xampp\php\ext\php_oci8.dll' - %1 no es una aplicación Win32 válida

Su error muestra una discrepancia de tipo integrado.

Resuelvelo siguiendo estos pasos:

Asegúrese de descargar e instalar Oracle instantclient en:http://www.oracle.com/technetwork/topics/winsoft -085727.html , pero nota:

  1. Toma nota de tu Oracle versión de la base de datos; usar Versión 12.1.x para base de datos Oracle 12c y Versión 11.1.x para 11g lanzamientos.
  2. En cualquier caso, asegúrese de descargar Basic Lite versión del cliente instantáneo de Oracle.

Después de eso, agregue la ubicación de su cliente instantáneo de Oracle a su Ruta de variable del sistema en sus Variables de entorno. Asegúrese igualmente de tener tanto el PHP de su xampp y su ext disponibles y configúrelos allí también (si no, agréguelos).

Luego, proceda a agregar una nueva variable del sistema con TNS_ADMIN como nombre de variable y la ubicación del cliente instantáneo de Oracle como valor de variable .

Además, defina sus variables de usuario PATH con la misma la ubicación del cliente instantáneo de Oracle como valor .

Después de esta etapa, reinicie su computadora para una propagación completa de las variables de entorno recién definidas.

Una vez encendido, puede abrir su Símbolo del sistema de Windows y ejecutar donde oci* para asegurarse de que tenía sus variables de entorno bien definidas; la respuesta debería verse así:

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

De lo contrario, debe haberse perdido algo y debe revisar el proceso, asegurándose de completarlo de manera efectiva.

Ahora puede continuar con su archivo php.ini (siempre que las variables de entorno estén bien definidas) y habilitar su oci extensiones (php_oci8.dll y php_oci8_11g.dll) descomentándolas; puede lograrlo simplemente eliminando la semicolumna (; ) antes de dichas extensiones.

Recuerde guardar su archivo php.ini, luego reinicie o inicie su apache si aún no se está ejecutando.

Para verificar que sus configuraciones de PHP oci8 estén habilitadas, puede volver a su Símbolo del sistema de Windows y ejecutar:php --ri oci8; la respuesta debe ser similar a la siguiente:

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

Alternativamente, puede crear un archivo PHP con <?php phpinfo(); ?> como contenido, luego ábralo en su navegador y busque ocurrencias de oci8; debería mostrarse habilitado allí también.