Solved

PHP 4.4.7 not loading oci8.dll

Posted on 2007-12-03
11
486 Views
Last Modified: 2013-12-18
I have windows 2000 with php 4.4.7 and oracle 10g rel 3.  the ocilogon give me an error function not defined.  when I run php -m from the command line I get the following error.

the procedure entry point ocilobclose could not be locate in the dll OCI.dll

the oci8.dll is not being loaded, hence my error in the php code.  I do not know how to resolve this problem, help.  
0
Comment
Question by:chipbunker
  • 6
  • 3
  • 2
11 Comments
 
LVL 21

Expert Comment

by:nizsmo
ID: 20400558
<?php phpinfo(); ?>

see if you have the oci function enabled properly, you can use the above function which wil output everything.

Let me know how you go.
0
 
LVL 3

Expert Comment

by:yjwong
ID: 20404661
Hi,

Do you have the php_oci8.dll extension enabled in your PHP configuration file (php.ini)? Also check whether php_oci8.dll exists in your extension_dir, and is readable by Apache.

Alternatively, you can rename your oci8.dll to  oci.dll. This way PHP can look for the DLL. Also, you might want to use the client libraries provided with your Oracle installation. To do this, add the ORACLE_PATH\bin directory to your system's %PATH% variable. Also make sure that the path you added must come before any other path containing oci.dll.
0
 
LVL 1

Author Comment

by:chipbunker
ID: 20405129
thanks for the replies.
I am using IIS not apache.

Nizsmo - oci is not enabled the module does not load because of the error
phpinfo does not show it.

vjwong - the extension is enabled the extensions path is set to c:\php\extensions (the location)
I copied the oci.dll from the oracle/bin directory to the extensions directory and enabled it. It also did not work.


0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 3

Expert Comment

by:yjwong
ID: 20405163
Okay, sorry, I thought you were using Apache.

Copy the oci.dll to the PHP directory (the one containing all the executables and php.ini), not the extensions directory. Try that and see whether it will work.
0
 
LVL 1

Author Comment

by:chipbunker
ID: 20405476
ok
I got the module to load, it shows up in php-m from the command line as oci8. but it does not show up in phpinfo()

when I test from my php code I get the error:

FATAL ERROR call to undefined function OCIogon.


0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20405521
Have you also added into the system PATH variable your extension directory?
If it doesn't show up in phpinfo() it means that the extension is not enabled properly.
0
 
LVL 3

Accepted Solution

by:
yjwong earned 250 total points
ID: 20405574
Are you editing the right configuration file? Because the one you edited might be only for the CLI build of PHP. In phpinfo(), check the configuration file path to see whether the one you edited is correct. I'm not sure why this happens though. Have you restarted your web server?
0
 
LVL 1

Author Comment

by:chipbunker
ID: 20405625
I am editing the correct php.ini file. when I make changes they reflect correctly. I usually have to restart the IIS admin service to reload the INI file after changes to reflect them in phpinfo().  

I will try the path change next
0
 
LVL 1

Author Comment

by:chipbunker
ID: 20405737
ok,
The problem was the oci.dll
On my server I have 2 versions of Oracle loaded 9 and 10.  the oci8.dll needs the one from the 9i oracle/bin directory. not the 10.2/bin directory.

thanks
0
 
LVL 1

Author Comment

by:chipbunker
ID: 20405739
vjwong gets the points for his efforts.
0
 
LVL 1

Author Closing Comment

by:chipbunker
ID: 31412496
sometimes you need a push in the right direction, thanks
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Wordpress French and English Site 6 82
simple html dom php accessing table/cell  values 4 24
JQuery Search Filter 2 40
plsql job on oracle 18 41
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
Via a live example, show how to take different types of Oracle backups using RMAN.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

807 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question