E43509
asked on
Oracle OCI not starting on php 5 windows server 2003sp2 IIS 6
I inherited a task a task to start up a PHP server on a wintel box. I'm not a php or unix kind of guy. Basically I have Php installed and running phpinfo() works fine.
I cannot get the php_oci8.dll to load and it is needed for a project.
Full oracle 9i client installed.
I can sqlplus myuser/mypwd@mydb successfully.
I have the error going to the system log and it error says
Event Type: Information
Event Source: PHP-5.2.12
Event Category: (6)
Event ID: 2
Date: 12/30/2009
Time: 8:43:31 AM
User: N/A
Description:
The description for Event ID ( 2 ) in Source ( PHP-5.2.12 ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: php[35068], PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php5\ext\php_oci8.dll' - The specified procedure could not be found.
in Unknown on line 0.
I enabled php_ldap.dll in the php.ini file and it shows up in phpinfo() so I'm pretty confident that my ini is ok. I'm thinking that the pho_oci8.dll is not finding what it needs from oracle and failing to start up.
Parts of my php.ini file
; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:\php5\ext"
; Windows Extensions
extension=php_oci8.dll
Env variables:
Path
C:\oracle\ora92\bin;C:\Col dFusion8\v erity\k2\_ nti40\bin; C:\CFusion MX7\verity \k2\_nti40 \bin;C:\Pr ogram Files\Oracle\jre\1.3.1\bin ;C:\Progra m Files\Oracle\jre\1.1.8\bin ;%SystemRo ot%\system 32;%System Root%;%Sys temRoot%\S ystem32\Wb em;c:\php5 ;
TNS_ADMIN
C:\oracle\ora92\network\AD MIN
Running php 5.2.12 ISAPI
Thougths?
I have not loaded PECL as I'm not quite sure what that is or how to do it in windows world or if I need it.
I cannot get the php_oci8.dll to load and it is needed for a project.
Full oracle 9i client installed.
I can sqlplus myuser/mypwd@mydb successfully.
I have the error going to the system log and it error says
Event Type: Information
Event Source: PHP-5.2.12
Event Category: (6)
Event ID: 2
Date: 12/30/2009
Time: 8:43:31 AM
User: N/A
Description:
The description for Event ID ( 2 ) in Source ( PHP-5.2.12 ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: php[35068], PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php5\ext\php_oci8.dll'
in Unknown on line 0.
I enabled php_ldap.dll in the php.ini file and it shows up in phpinfo() so I'm pretty confident that my ini is ok. I'm thinking that the pho_oci8.dll is not finding what it needs from oracle and failing to start up.
Parts of my php.ini file
; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:\php5\ext"
; Windows Extensions
extension=php_oci8.dll
Env variables:
Path
C:\oracle\ora92\bin;C:\Col
TNS_ADMIN
C:\oracle\ora92\network\AD
Running php 5.2.12 ISAPI
Thougths?
I have not loaded PECL as I'm not quite sure what that is or how to do it in windows world or if I need it.
ASKER
Not using instant client, full oracle 9i client.
The php_oci8.dll is uncommented.
extension_dir appears to be set right (as I can enable other windows extensions such as php_ldap.dll and they start up.
The php_oci8.dll is uncommented.
extension_dir appears to be set right (as I can enable other windows extensions such as php_ldap.dll and they start up.
ASKER
Another tidbit. Running c:\php5> php -m comes up with an error.
Php.exe entry point not found
The procedure entry point OCILobRead2 could not be located in the dynamic link library oci.dll
I found the oci.dll in my c:\oracle\ora92\bin
I copied that oci.dll to c:\windows\system32, c:\php5, c:\php5\ext and the same error occurs.
I'm thinking that php is finding the oci.dll but not that procedure in it?
Next steps?
Php.exe entry point not found
The procedure entry point OCILobRead2 could not be located in the dynamic link library oci.dll
I found the oci.dll in my c:\oracle\ora92\bin
I copied that oci.dll to c:\windows\system32, c:\php5, c:\php5\ext and the same error occurs.
I'm thinking that php is finding the oci.dll but not that procedure in it?
Next steps?
ASKER
I only have one oci.dll on this machine. I renamed it to oci_orig.dll and running php -m came up with the same error. I'm thinking it can't find the oci.dll?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Installing OCI8 on Windows
On Windows, uncomment the php.ini line extension=php_oci8.dll when using Oracle 10gR2 client libraries. Uncomment extension=php_oci8_11g.dll
If using Instant Client, set the system PATH environment variable to the Oracle library directory.