Oracle support in PHP?

Ryan Schmidt ryandesign at macports.org
Wed Dec 12 15:00:14 PST 2007


On Dec 12, 2007, at 08:50, John Korchok wrote:

>> On Dec 11, 2007, at 22:11, John Korchok wrote:
>>
>>>> On Dec 10, 2007, at 16:42, John Korchok wrote:
>>>>
>>>>> I had no errors or other problems installing the "oracle-
>>>>> instantclient" port or the "php5 +oracle" port. Thanks Ryan!
>>>>
>>>> Oh good!
>>>>
>>>>
>>>>> I am assuming I still need to modify php.ini to point at oci8.so,
>>>>> but I can't find it (oci8.o is there). I did find the libraries
>>>>> under lib/ oracle.
>>>>
>>>> Nope, nothing needs to be done in that regard. There is no
>> oci8.so or
>>>> any other separate file. The oci8 functions have simply
>> been compiled
>>>> into php and libphp5.so.
>>>>
>>>>
>>>>> http://www.php.net/oci8 is just baffling. It reads like a pile of
>>>>> potentially useful but untested information. Using the Instant
>>>>> Client (as they recommend) does not create an oracle user
>> or group,
>>>>> as far as I can tell.
>>>>
>>>> I didn't program any user or group creation into the oracle-
>>>> instantclient portfile, no. Should I have? What would that
>> user/group
>>>> be used for?
>>>>
>>>> The page is certainly Greek to me, since I haven't used Oracle.
>>>
>>> When I run phpinfo, the last configure command is:
>>> '--with-oci8=instantclient,/opt/local/lib/oracle'
>>>
>>> At http://www.oracle.com/technology/pub/notes/
>>> technote_php_instant.html,
>>> under the heading "Enabling the PHP OCI8 Extension on Linux " they
>>> suggest a syntax like:
>>> '--with-oci8-instant-client=/opt/local/lib/oracle'
>>
>> As far as I can tell, the option was
>> --with-oci8-instant-client=/path/ to/instantclient in earlier
>> php versions (maybe php 5.1.1 and earlier), and is
>> --with-oci8=instantclient,/path/to/instantclient now (maybe
>> since php 5.1.2). This is mentioned in a note from wes9999 on
>> http://www.php.net/oci8 and I say "maybe" for the versions
>> because the Oracle page you cite does say it has been updated
>> for php 5.1.2 so I don't know. But since they haven't managed
>> to put out an Intel version in two years, and advocate using
>> the problematic DYLD_LIBRARY_PATH variable to get their
>> libraries to work, I don't trust Oracle very much.
>>
>>> Phpinfo has an oci8 section further, and it looks like it
>> is getting
>>> installed.
>>
>> I would expect so. So have you had any luck connecting with
>> the Oracle server or are you running into other problems?
>
> I'm not getting any connection yet. I saw the reference to the new  
> path
> syntax, but may also be a path issue. Does MacPorts set the path as  
> root or
> as a user?

Set what path? If you mean DYLD_LIBRARY_PATH, I don't set it at all.  
Instead, I used install_name_tool to fix the paths within the oracle  
libraries so that DYLD_LIBRARY_PATH is no longer necessary. You can  
see exactly what the port does with "port cat oracle- 
instantclient" (or "port edit oracle-instantclient") if you're  
interested.

What is the PHP code you use to attempt to establish a connection?  
What error occurs as a result?



More information about the macports-users mailing list