473,386 Members | 1,969 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

OCI8/oracle DLL HELL --

Hi,
I had just a horrible day at work, spent pretty much the entire day
trying to get php_oci.dll and php_oracle.dll to load. It still never
did.

Super Quick Background.
Jack of all trades IT guy, have written many tools using perl and JSP
in the past.
Had a chance to do a big project, and figured I would use it to learn
PHP.
Did all development on my XP Pro station, they bought a windows 2003
Small Business Server to run the application on.
99% of the application is powered by MQSQL
Using XAMPP distrabution.

Make ONE call on ONE page to a legacy oracle database we have (8)...
Works FINE on my machine.

Ported everything to the server. NO DICE enabling php_oci8.dll and
php_oracle.dll
PHP is 5.5.1.

DL'ed instant client. Pulled the three dll's I am supposed to out, put
them in C:\instantclient
Added C:\instantclient to class path:

Error loading dll, procedure not found (note: not module... It's
finding the oci and oracle dll in the /ext directory)...

I think it's more an oracle driver/dll/something I can't figure out
problem.
I've spent a whole day googling things, trying to change this classpath
and that class path, adding something71.dll and somethingelse71.dll
(forgive me, I'm at home now and can't remember exactly)...

But absolutely nothing worked.

Does anyone know the secret to what I need to install on the server to
get these babies to run? It's making me feel like a fool having spent
all day working on something that really should be simple.

If I need to install some other oracle "client software" can anyone
tell me specifically what it is I need other then instant client? I ask
that because I've seen three dozen refreances to a vague "oracle client
software"

I could go on, but I'm just venting now...
Please, any pointers to what the heck I need would be SO SO SO
appreciated.
Kind Regards,
ds

Feb 6 '06 #1
6 6313
DravenStone wrote:
Ported everything to the server. NO DICE enabling php_oci8.dll and
php_oracle.dll
PHP is 5.5.1.


You mean 5.1.1?

I have a bit of oracle & php experience, but only on *nix. However, I
hate to see a fellow odd job man struggling, so I'll try and help.

Try replacing your php_oci8.dll with the one corresponding to your php
version here:

http://pecl4win.php.net/ext.php/php_oci8.dll

Dump the php_oracle.dll completely if you can. You should need the
full-blown Oracle client for that anyway, it won't work with the
instantclient (as I recall). The Oracle extension is highly deprecated
in favour of the oci8 extension.

Talking of the big fat Oracle client, you can download it from here if
you need it:

http://www.oracle.com/technology/sof...10g/index.html

Good luck,
Gareth
Feb 7 '06 #2
Yeah, 5.1.1 doing everything from (not so sharp) memory now that I'm
home and trying to stop being annoyed.

Much thanks for your links, I'll try both straight away in the morning.

With regards to the oracle client -- do you find/believe that it in
fact a necessary component to get oci to work with PHP under windows?

-ds

Feb 7 '06 #3
Oh and one more piece of pseudo interesting information...

The XAMPP dist. installs adodb as well.

I found that it works fine on the development machine to make a test
connection using that library to my oracle server, but again, that does
not work on the new (soon to be) production machine... Thinking that
this just goes to help support my theory that it's a windows/oracle
issue more so then a PHP one.

However, that doesn't discount my new interest in trying an updated
version of the oci8.dll from Gareth's post, since I can tell it's a
newer build for 1.1 then was packaged with XAMPP

more thanks,
-ds

Feb 7 '06 #4
On 6 Feb 2006 15:15:23 -0800, "DravenStone" <ch********@gmail.com> wrote:
I had just a horrible day at work, spent pretty much the entire day
trying to get php_oci.dll
What is php_oci.dll? Do you mean php_oci8.dll?
and php_oracle.dll to load.
Forget php_oracle.dll, that's for Oracle 7.
Make ONE call on ONE page to a legacy oracle database we have (8)...
Works FINE on my machine.

Ported everything to the server. NO DICE enabling php_oci8.dll and
php_oracle.dll
PHP is 5.5.1.
What version is it really?

Not that it should actually make any difference in terms of getting it going
in the first place, but 5.1.2 comes with a considerably updated version of the
OCI8 extension with lots of bug fixes and some new features (persistent
connection pinging and timeouts, for example).
DL'ed instant client. Pulled the three dll's I am supposed to out, put
them in C:\instantclient
Unpack all of the instant client zip rather than picking and choosing, unless
you really know what you're doing.
Added C:\instantclient to class path:
Class path is Java, do you mean PATH?
Error loading dll, procedure not found (note: not module... It's
finding the oci and oracle dll in the /ext directory)...
Which of the two PHP extensions were you trying to load at this point?
I think it's more an oracle driver/dll/something I can't figure out
problem.
I've spent a whole day googling things, trying to change this classpath
and that class path, adding something71.dll and somethingelse71.dll
(forgive me, I'm at home now and can't remember exactly)...

But absolutely nothing worked.


Hacking around isn't going to help and will just get you into more of a mess
since you won't know how to undo it. There's a just a few steps you have to do
to get Oracle PHP support working, but it's not at all forgiving to messing
around. Were you following any particular instructions, such as:
http://www.oracle.com/technology/pub...p_instant.html ?

I see there it mentions unzipping just three of the Instant Client DLLs, well,
I suppose that's on an Oracle site so they should know which ones are needed,
but it makes sense to unpack the lot.

The usual snag I hit on Windows is getting the updated environment variables
into the web server process - remember that if you just restart it, it may not
see the new environment. If you open a new command window after changing the
environment variable, then use "net stop apache2" and "net start apache2" then
it's more likely to pick up the change. (Or reboot)

The other one is permissions; make sure the web server user has permissions to
access all the libraries and files involved. That's usually an issue with the
full client install that locks down permissions by default, rather than the
instant client.

--
Andy Hassall :: an**@andyh.co.uk :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
Feb 7 '06 #5

What is php_oci.dll? Do you mean php_oci8.dll?

Of course... sorry, I reference it properly three other times in the
post...
and php_oracle.dll to load.
Forget php_oracle.dll, that's for Oracle 7.

Agreed...

Make ONE call on ONE page to a legacy oracle database we have (8)...
Works FINE on my machine. Ported everything to the server. NO DICE enabling php_oci8.dll and
php_oracle.dll
PHP is 5.5.1.
What version is it really?

5.1.1, which I clarafied in an earlier response, sorry...

Not that it should actually make any difference in terms of getting it
going
in the first place, but 5.1.2 comes with a considerably updated version
of the
OCI8 extension with lots of bug fixes and some new features (persistent
connection pinging and timeouts, for example).

Yup, I read all about that today, but I'm not running 5.1.2...
DL'ed instant client. Pulled the three dll's I am supposed to out, put
them in C:\instantclient
Unpack all of the instant client zip rather than picking and choosing,
unless
you really know what you're doing.

I've tried that as well... I tried everything I could think of...
Added C:\instantclient to class path:
Class path is Java, do you mean PATH?

Yes, I mean path. Sorry, like I said, I'm a jack of all trades, master
of none kind of guy and I have done a lot of JSP stuff so I've got java
on the brain... (Plus I wrote this when I got HOME from work and was
already brain fried)...
Error loading dll, procedure not found (note: not module... It's
finding the oci and oracle dll in the /ext directory)...
Which of the two PHP extensions were you trying to load at this point?

oci8 and oracle (both of which I load fine on my other machine)
I think it's more an oracle driver/dll/something I can't figure out
problem.
I've spent a whole day googling things, trying to change this classpath
and that class path, adding something71.dll and somethingelse71.dll
(forgive me, I'm at home now and can't remember exactly)... But absolutely nothing worked.


Hacking around isn't going to help and will just get you into more of
a mess
since you won't know how to undo it. There's a just a few steps you
have to do
to get Oracle PHP support working, but it's not at all forgiving to
messing
around. Were you following any particular instructions, such as:
http://www.oracle.com/technology/pub...p_instant.html ?

I followed those exactly. Further, I had followed those exactly on my
other machine and it worked in two minutes as it should... hence my
amazingly high level of frustration.

I see there it mentions unzipping just three of the Instant Client
DLLs, well,
I suppose that's on an Oracle site so they should know which ones are
needed,
but it makes sense to unpack the lot.

Again, I tried that, no help.

The usual snag I hit on Windows is getting the updated environment
variables
into the web server process - remember that if you just restart it, it
may not
see the new environment. If you open a new command window after
changing the
environment variable, then use "net stop apache2" and "net start
apache2" then
it's more likely to pick up the change. (Or reboot)

Multiple times I restarted apache using a variety of methods AND
rebooted...

The other one is permissions; make sure the web server user has
permissions to
access all the libraries and files involved. That's usually an issue
with the
full client install that locks down permissions by default, rather than
the
instant client.

Was logged in as administrator all day, XAMPP was installed as admin as
well.

Feb 7 '06 #6
If anyone cares...
I blew away 2003 small business server, and installed 2K advanced
server, and boom... everything worked fine in under 10 minutes...

Feb 7 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. ...
3
by: Chad The Man | last post by:
I have been developing some applications on suse 9 / apache 1.37 / php 4.3.4 / Oracle 9i / OCI8. We recently moved servers, apache works fine, php works fine, oracle works fine... however, trying...
8
by: PIII450 | last post by:
Hi all, We had to switch to windows 2003 server with IIS and now i've got a problem with the OCI8 :(( Big time! I know php works. I have tested this. I know the oracle\bin is in the path. I...
0
by: RDahlstedt | last post by:
I am relatively new to PHP, but with over a decade of experience in C and other programming languages I can usually pick up a new programming language relatively quickly (to be reasonably...
8
by: YeCkeL | last post by:
Warning: oci_new_connect() : OCIEnvNlsCreate() failed. There is something wrong with your system - please check that ORACLE_HOME is set and points to the right directory in...
4
by: cyrano | last post by:
I am having issues maintaining an oracle connection in my apache/php web application. I am able to succesfully connect to an Oracle 9i dbase using oci() and retrieve expected results for the...
5
by: Mladen Gogala | last post by:
The latest version of OCI8 1.2.1 doesn't work with LOB fields. There was an open bug, but Tony2001 was his usual helpful self, so he removed the bug and flatly denied its existence. I had to...
0
by: Yannick | last post by:
Hi, I'm Julien from France, We have recently install a new Web Server for my company The server is composed : - Linux RedHat RHEL4 U4 - Httpd-2.0.52-27.ent - Oracle Database 10.2.0.1
7
by: eholz1 | last post by:
Hello All, I have reviewed various posts in regard to Oracle and PHP. I am running Apache 2.0.59, on Windows XP, with PHP 5.2. I would like to connect using PHP to a remote oracle db (ver. 7)...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.