Search code examples
phpapacheoracle11goci8

The program cannot start because php7.dll is missing from your computer


I am trying to deploy OCI8 with PHP7 and Apache 2.4. The database does not reside in my local pc. It is on a different server with Oracle 11g Enterprise version and 64bit architecture as well.

I am unable to load oci8 on my local PC with the following settings

extension=php_oci8_11g.dll
extension_dir = c:\php\ext

The path in system variables is properly updated with c:\php;

I have followed the instructions carefully https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-084410.html

I am using all versions with 64bit as my PC is running 64bit:

  1. mod_fcgid
  2. instantclient
  3. php7
  4. apache 2.4

phpinfo() shows perfectly on my browser but it does not show a table for oci8. I then run the command php -m in cmd to double check the status, but I get the following popup:

The program cannot start because php7.dll is missing from your computer.
Try reinstalling the program to fix the problem.

And the cmd window shows the following error:

Warning: PHP Startup: Unable to load dynamic library 'php_oci8_11g'
(tried: C:\php\ext\php_oci8_11g (The specified module could not be
found.), C:\php\ext\php_php_oci8_11g.dll (The specified module could 
not be found.)) in Unknown on line 0

What could be the problem?


Solution

  • I had it working with extension=oci8_12c instead. It turned out that even if the remote Oracle Database I am trying to connect with is of version 11g, the latest oci8 version supports 11g as well. This worked: https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html