2011-12-26 26 views
7

tengo las siguientes líneas sin comentar (en mi php.ini):Fatal error: Llamada a oci_connect función no definida()

extension=php_oracle.dll 
extension=php_oci8.dll 

Y he descargado este archivo instantclient-basiclite-nt-11.2.0.2.0.zip y descomprimido y poner que en la unidad D .. .

estoy utilizando Windows XP

puse variable de entorno como éste:

LD_LIBRARY_PATH  C:\instantclient_11_2:$LD_LIBRARY_PATH 
ORACLE_HOME  C:\instantclient_11_2 

Pero cuando ejecuto oci_connect() función, veo este error:

Fatal error: Call to undefined function oci_connect() in ...

y encontré esto advertencias en el archivo erroeLog:

[29-Dec-2011 00:36:39] PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_oci8.dll' - The specified module could not be found. in Unknown on line 0

[29-Dec-2011 00:36:39] PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_oracle.dll' - The specified module could not be found.

+0

¿Qué mensajes emiten la versión CLI o Apache? Además, ¿qué dicen los archivos de registro o el registro del sistema? – mario

+0

¡Esto debería ayudar con el error anterior! [Enlace] (http://stackoverflow.com/a/39770392/3973543) – Batman

Respuesta

2

Quizás quiso reiniciar Apache después de poner el archivo php_oci8.dll en su directorio php/ext?

+0

uso de IIS, pero también lo reinicio !!!!! – afsane

+0

¿Y colocaste la DLL en la carpeta correcta también? –

+0

sí, por supuesto! – afsane

4

Lo que debe verificar:

  • No es necesario para establecer LD_LIBRARY_PATH ni ORACLE_HOME. Sin embargo, debe agregar D:\instantclient_11_2 a la variable de entorno PATH y reiniciar la computadora para que se apliquen los cambios.

  • Antes de configurar PHP, compruebe que las bibliotecas de sus clientes Oracle realmente funcionan (por ejemplo, intente conectarse con SQL Developer).

  • Comentario extension=php_oracle.dll. Pertenece a la antigua y obsoleta extensión de Oracle.

  • Verifique que el archivo php_oci8.dll esté realmente en c:\php\ext\php_oci8.dll?

+1

He hecho todos sus consejos pero ... :( – afsane

+0

@afsane - Entonces es obvio: no funciona de manera independiente, no puede funcionar bajo PHP. –

+0

Esto me funcionó. Tonta, yo Olvidé reiniciar el sistema. – siniradam

0

Simplemente agregue esta línea al archivo php.in que apunta a la ubicación de las extensiones, debe saber dónde están ubicadas, pero normalmente en la carpeta php.

extension_dir = C:\xampp\php\ext ; esto es para mí con xampp, sé sabio.

Me funcionó. El problema es acceder a las extensiones y no tiene nada que ver con las bibliotecas de Oracle.

Cuestiones relacionadas