Fatal error: Call to undefined function oci_connect()

afsane picture afsane · Dec 26, 2011 · Viewed 66.4k times · Source

I have the next lines uncommented (in my php.ini):

extension=php_oracle.dll 
extension=php_oci8.dll

And I downloaded this file instantclient-basiclite-nt-11.2.0.2.0.zip and unzipped and put that on drive D...

I am using Windows XP

I set environment variable like this:

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

But when I execute oci_connect() function, I see this error :

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

and i found this warnings on erroeLog file:

[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.

Answer

Álvaro González picture Álvaro González · Dec 26, 2011

Things to check:

  • You don't need to set LD_LIBRARY_PATH nor ORACLE_HOME. However, you need to add D:\instantclient_11_2 to the PATH environmental variable and restart the computer so changes apply.

  • Before configuring PHP, check that your Oracle client libraries actually work (for instance, try to connect with SQL Developer).

  • Comment out the extension=php_oracle.dll. It belongs to the old and deprecated Oracle extension.

  • Double check that the php_oci8.dll file is really at c:\php\ext\php_oci8.dll?