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

Llamada a función indefinida oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

Editar: Hmm. Intentar esto en Windows 8 parece generar el mismo error que especificó. Actualmente estoy investigando...

Mi error (había habilitado el extension_dir incorrecto línea). Funciona en Win8 tal como se documenta a continuación.

Los siguientes pasos deberían ser todo lo que necesita para que OCI funcione con PHP (acabo de verificar esto en una máquina virtual Windows 2008 R2 Standard x64 recién instalada):

  • Descargue y extraiga PHP (utilicé C:\php de php-5.6.7-nts-Win32-VC11-x86.zip ).
  • Descargue y extraiga InstantClient (utilicé C:\instantclient_12_1 desde instantclient-basic-nt-12.1.0.2.0.zip ).
  • Agregue las rutas anteriores a la ruta del sistema.
  • Copiar c:\php\php.ini-production a c:\php\php.ini .
  • en php.ini :<último>
  • línea habilitada extension_dir = "ext" .
  • línea habilitada extension=php_oci8_12c.dll .
  • Instale Microsoft Visual C++ 2010 Runtime (x86). Esto es necesario para la extensión OCI8.
  • Instale Microsoft Visual C++ 2012 Runtime (x86). Esto es necesario para PHP.
  • En este punto, ejecuta php --ri oci8 en un símbolo del sistema me muestra el siguiente resultado:

    C:\>php --ri oci8
    
    oci8
    
    OCI8 Support => enabled
    OCI8 DTrace Support => disabled
    OCI8 Version => 2.0.9
    Revision => $Id: f5a3ee1083d1ffa6adb5143efda6eafa210b8414 $
    Oracle Run-time Client Library Version => 12.1.0.2.0
    Oracle Compile-time Instant Client Version => 12.1
    
    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.connection_class => no value => no value
    oci8.events => Off => Off
    
    Statistics =>
    Active Persistent Connections => 0
    Active Connections => 0
    

    Y buscando el oci_connect función:

    C:\>php -r "var_dump(function_exists('oci_connect'));"
    bool(true)