<

Improve company productivity with a Business Account.Sign Up

x

Setting up PHP to use Oracle Instant Client (oci8) under RHEL/Fedora/CentOS distributions

Published on
26,034 Points
22,534 Views
Last Modified:
Michael Worsham
Creative problem solver with ability to work either individually or through multiple teams partners for accomplishing goals.
Currently, there is not an RPM package available under the RHEL/Fedora/CentOS distributions that gives you a quick and easy way to allow PHP to interface with Oracle. As a result, I have included a set of instructions on how to do this with minimal time and effort.

To complete the steps, you you will need to get the Oracle Instant Client and the OCI8 PECL package.

Oracle Instant Client: http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
PECL OCI8 Package: http://pecl.php.net/package/oci8

1) Install Apache, PHP, the Oracle Instant Client MySQL support if you want it and required development packages to build from source code.

    yum install httpd php php-mysql php-pear php-devel zlib zlib-devel
    yum groupinstall "Development Tools"

2) Add the Oracle instant client to dynamic linker

    echo /usr/include/oracle/ON>/client > /etc/ld.so.conf.d/oracle_client.conf
    ldconfig -v

3) Untar the PECL package and prepare it for compiling

    tar -xzvf oci-.tgz
    cd oci-
    phpize

4) Configure the PECL package as a shared object using the instant client and specifying where the Oracle client libraries are. Then build and install it.

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/N>/client/lib
    make
    make install

5) Add the library shared object for PHP

    echo extension=oci8.so > /etc/php.d/oci8.ini

6) Start Apache

    'service httpd start' _or_ '/etc/init.d/httpd restart'

7) Create a PHP info page and checked to see if the Oracle (oci8) driver is listed:

    echo  > /var/www/html/phpinfo.php
 
0
Comment
2 Comments
 
LVL 29

Author Comment

by:Michael Worsham
Instruction #1: Under RedHat Linux defined distributions (i.e. CentOS, RHEL, Fedora), 'yum' [Yellow dog Updater, Modified (YUM)] is an open-source command-line package-management utility for RPM-compatible Linux operating systems.

Instruction #3: Tar (Tape Archiver) is both a file format (in the form of a type of archive bitstream) and the name of the program used to handle such files. The use of 'tar -zxvf <filename>.tgz' will uncompress the 'tarball', then extract the files & directories into the directory the file is originally located in.

Instruction #6: There are two ways to do it under RedHat Linux: 'service httpd start' _or_ '/etc/init.d/httpd restart'
0
 
 

Administrative Comment

by:WaterStreet
mwecomputers,

What you explained is that you have  intentionally phrased those instructions they way you did.  And, I was performing my basic editorial function by verifying that fact with you.  Fine.  We have completed that stage, and I could now promptly designate the Article as Published.

However,  you gave explanations that provide good value-added to your article.  One of the things that I tell the other editors when recommending articles for "Approved" and "Editors Choice" is that the articles should have clear explanations and definitions for technical jargon.  Those explanations you gave me would help the article, IMO.  Again, this is up to you.  I left the Article in Author Edit status, in case you want to incorporate those explanations into the Article.

Either way, let me know by placing the article back into Editor Review status, and I will then publish it.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Join & Write a Comment

Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month