Thanks for your help cj2, i finally went back to the php_oci8.dl. The organization will go from scratch on a new server and upgrade the technologies at the same time instead of trying to integrate it to an existing server.
The dev server had php_oci8_11g.dll and the production had php_oci8.dl.
I had triple checked the path and rebooted. i should of deleted the old libraries, its pretty much the only thing i did not do.
I was struggling to get the oci extensions running in PHP on IIS 7.5 on Windows 2008 R2. After about 10 hours, here was my solution:
Download the 32-bit Oracle Instant Client and put it somewhere useful (I put it under my php directory). Add it to your system's PATH.
Edit your php.ini and uncomment extension=php_oci8_11g.dll
After this, it was running fine under the CLI. With the command php -m, I would see the oci8 module listed. IIS, however, still did not show OCI8 under phpinfo and would throw the undefined function error. So I added the instant client folder to my php path under IIS and OCI8 showed up under phpinfo and IIS was able to run the Oracle commands under PHP:
1) In IIS Manager, go to your web server home and choose FastCGI Settings. Highlight the php-cgi.exe entry and choose Edit...
2) Under Environment Variables, click the box with ... to add another variable.
3) Add PATH with the Value: %PATH%;C:\php\instantclient_11_2 (where the instantclient_11_2 path is its location on your server)
Apologies for posting to an old thread, but it was the first to come up when I googled the problem before I remembered how I've solved it before.
A quick & dirty fix on Windows is to copy all of the *.dll files from the 11g InstantClient package* into the same directory as your webserver's executable (e.g. httpd.exe). This is the first place the server looks for any dll dependencies. (*Make sure you get the correct architecture for InstantClient (32/64 bit)).
I can confirm this works with Apache httpd on Windows (haven't tested IIS). In my experience, it also works in general for any application that can't find the correct external dlls, e.g. if you have multiple versions/architectures of a library on your machine, or if you don't want to add them to PATH.
In my case (32-bit httpd), I copied:
to [httpd root]/bin
I'm sure you don't need all of the dlls, but it's easier to just grab them all.