Reputation: 425
I just installed xampp v3.2.2 on my pc. I want to create connection string to oracle using php. when i start Apache on xampp, always show popup window "OCI.DLL IS MISSING FROM your computer". I've been download oci.dll from http://www.dll-found.com/download/o/oci.dll and place it inside C/windows/SysWOW64
but, when i start apache on xampp again, show popup window "THE Procedure entry point OCIstmtgetNextresult could not be located in the dynamic link library oci.dll" like this screenshot
what should i do? thanks
Upvotes: 3
Views: 22286
Reputation: 189
Windows 10 64 bit
XAMPP Version 8.0.6
(x64 bit)instantclient-basic-windows.x64-19.11.0.0.0dbru.zip
)"C:\instantclient_19_11"
in system variable"8.0 Thread Safe (TS) x64"
(oci8 3.0.1
). the extracted it and added all files with extension .dll
, .pdb
, pd
in C:\xampp\php\ext
php.ini
(uncommented the extension -"extension=php_oci8_12c.dll"
)After doing all of this I was getting the same kind of error.
I found that 8.0 Thread Safe (TS) x64
is causing the problem. So I decided to use oci8 x86
bit instead.
oci8 x86
bit we need XAMPP(xampp-portable-win32-7.3.2-0-VC15-installer.exe
) of Windows 32-bit
. (https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.3.2/)Oracle Instant Client
for Windows 32-bit
. (https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html), extracted the folder and placed it in the c drive.(add path "C:\instantclient_19_11"
in system variable, if you haven't)7.3.2.
so I downloaded 7.3 Thread Safe (TS) x86
(https://pecl.php.net/package/oci8/2.2.0/windows), extracted it and replaced the files in C:\xampp\php\ext
php.ini
(uncommented the extension -"extension=php_oci8_12c.dll"
)Then I was able to successfully connect my oracle database.
Upvotes: 2
Reputation: 2080
You need to download the whole of the Oracle Instant client that matches your OS and its bitness, e.g. 12.1.0.2 for 64 bit for example, from the Oracle website (you may need to create a free account).
Uncompress the contents in the folder of your choice. Add the path to this folder to your PATH environment variable.
Copy all the files within the main directory to your Apache/bin folder, the one that contains httpd.exe Note that a subset of these files may be copied, but I can't remember which exactly. You may work by elimination eventually, once you have the system to work.
Configure php.ini (the one inside Apache) to activate this module:
extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
Restart Apache. It should work.
A similar job may be done for php in cli mode. In this case, copy the files from the Oracle Instant Client into the php folder, the one that contains php.exe, not the ext/ folder. Similarly, edit php.ini for cli. Verify that module oci8 gets loaded by issuing a:
php -m
command from a console. Remember that your should reopen the console to load the latest PATH variable.
Upvotes: 11
Reputation: 91
this is a problem with the x64 Edition of PHP 5.6.2x and Oracle Instant Client....i got the same error, i changed to x86
Upvotes: 2