Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 110296 - Oracle 10g Instant Client support for PHP
Summary: Oracle 10g Instant Client support for PHP
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-24 00:45 UTC by Frederic Mangeant
Modified: 2005-11-03 08:50 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Diff file (oracle-instantclient.diff,1.37 KB, patch)
2005-10-24 01:48 UTC, Frederic Mangeant
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Frederic Mangeant 2005-10-24 00:45:33 UTC
Hi

I've modified PHP eclass to enable Oracle Instantclient with PHP
It supports PHP 4/5 on x86, x86_64 and ia64

Here's the documentation from Oracle :
http://www.oracle.com/technology/pub/notes/technote_php_instant.html

The "dev-db/oracle-instantclient-basic" is required to build PHP.
Comment 1 Frederic Mangeant 2005-10-24 01:48:34 UTC
Created attachment 71324 [details, diff]
Diff file

Here's the diff for /usr/portage/eclass/php-sapi.eclass
Comment 2 Frederic Mangeant 2005-10-24 01:51:28 UTC
I've tested with dev-php/mod_php-4.4.0-r3 and
dev-db/oracle-instantclient-basic-10.1.0.4, phpsysinfo() returns this :

Oracle Version = 10.1
Compile-time ORACLE_HOME = /usr/lib/oracle/10.1.0.4/client/lib
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-10-24 01:54:27 UTC
I'd like to note that we won't be adding enhancements to old dev-php/{mod_}php
ebuilds, so if this gets into portage, I will go to dev-lang/php instead. 
Comment 4 Luca Longinotti (RETIRED) gentoo-dev 2005-10-24 12:45:20 UTC
To generate patches, please do 'diff oldone newone' and not the reverse, it
makes them much easier to understand and apply!
As Jakub said we won't add new features to dev-php/{php,php-cgi,mod_php} but
only to dev-lang/php, and in dev-lang/php we already have Oracle support with
the 'oci8' USE flag, is this one much different from that?
I can't test since I don't use and don't have any Oracle installations, it would
be easy to add to dev-lang/php, but is it really needed? Isn't the 'oci8' USE
flag enough to support Oracle, I've heard it works quite well... So if you feel
this is  really needed and have a solid reason for the use of
oracle-instantclient, please reopen the bug and state why, thanks. :)
Best regards, CHTEKK.
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-10-24 12:56:38 UTC
CHTEKK: USE=oci8 requires a full install of Oracle (which is huge). Until now,
it wasn't possible to build the PHP oracle extension with the oracle
instantclient. I think we're probably best off changing oci8 to require
instantclient, and dropping the direct oracle usage, as that also improves QA
(since we should have an DEPEND+RDEPEND on the full oracle, but we don't).
Comment 6 Luca Longinotti (RETIRED) gentoo-dev 2005-10-24 13:13:40 UTC
(In reply to comment #5)
> CHTEKK: USE=oci8 requires a full install of Oracle (which is huge). Until now,
> it wasn't possible to build the PHP oracle extension with the oracle
> instantclient. I think we're probably best off changing oci8 to require
> instantclient, and dropping the direct oracle usage, as that also improves QA
> (since we should have an DEPEND+RDEPEND on the full oracle, but we don't).

Ok thanks for the clarification! We should (R)DEPEND on many packages wich we
support in USE flags, but that's not possible since they're all commercial and
not in Portage, so we warn the user about that if the uses one of them, but
leave him the possibility to compile the PHP he needs.
For Oracle, I'd say to keep the actual 'oci8' USE flag since some users use it
successfully and then add like the original poster said, a new
'oci8-instant-client' USE flag to dev-lang/php, wich DEPENDs on the
dev-db/oracle-instantclient-basic package and is setup to work out-of-the-box,
the USE flag will then be added to the use.mask of some architectures who don't
support the oracle-instantclient-basic package (I'll need to do that too for
java-internal/java-external USE flags).
Reopening this till I change it around, wich should be tomorrow.
Best regards, CHTEKK.
Comment 7 Luca Longinotti (RETIRED) gentoo-dev 2005-11-03 08:50:30 UTC
The "oci8-instant-client" USE flag was added to the latest dev-lang/php
releases, please use those to have Oracle Instantclient support. On dev-lang/php
you can now choose either to use the Oracle Instantclient ("oci8-instant-client"
USE flag) or the full Oracle Server installation ("oci8" USE flag) as your
Oracle provider.
Best regards, CHTEKK.