Solved

PHP 4.4.7 not loading oci8.dll

Posted on 2007-12-03
11
482 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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

813 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now