Php: loading oracle driver gives error "Unable to load dynamic library - the specified procedure could not be found."

I seem to have a weird problem with PHP.

I transferred the software package from one server to another. On the server, some scripts establish a connection with Oracle, so the oracle client and the tnsnames file are installed to establish the connection. Connection from sql * plus works.

In some scenarios, PDO is used, so for this I turned on the php_pdo_oci.dll extension in php.ini. These scripts work like a charm.

Some other scripts use features such as oci_connect and require an extension, such as php_oci8.dll. Using xammp (which I use as the apache / php / mysql package) php_oci8_12c.dll is supplied, so I thought the extension would be adequate.

When starting the server, I see these errors in php errorlog:

Unable to load dynamic library 'C:\xampp\php\ext\php_oci8_12c.dll' - The specified procedure could not be found.

The file is located in the folder C: \ xampp \ php \ ext \, so this should not be a problem. Other extensions that are in the same directory are not required. I also tried downloading php_oci8.dll, which I took from the old server, but got exactly the same problem.

I tried some answers that I found with similar problems without success: - copying the dll to c: \ windows \ system - adding php ext dir to the system PATH variable - adding the oracle client to the system PATH variable (already there)

:

  • : Windows 2012 R2 x64
  • PHP: 5.6.3
  • Oracle: 11.2.0.4.0

?

+4
2
+6

XAMPP PHP, ThreadSafe, :

http://windows.php.net/downloads/pecl/releases/oci8/2.0.8/...

3 DLL C:\xampp\php\ext *, ".old *" . , DLL Oracle php.ini. , Apache.

0

All Articles