Size: 1585
Comment:
|
Size: 2358
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
To be able to access Oracle databases from PHP, you will need to have the Oracle OCI library installed in your machine. | To be able to access Oracle databases from PHP, you will need to have PHP compiled / linked with the Oracle OCI (oci8) library. |
Line 3: | Line 3: |
There are two ways to get this library: | You could use the [[http://www.oracle.com/technology/tech/php/zendcore/index.html|pre-built PHP 5 from Zend]] or there are two other ways to get PHP working with OCI8: |
Line 18: | Line 18: |
Ubuntu Server 6.06 LTS Oracle Instant Client 10.2.0.2 |
Ubuntu Server 10.04 LTS Oracle Instant Client 11.2 |
Line 25: | Line 25: |
sudo apt-get install php5-dev php-pear | sudo apt-get install php5-dev php-pear libaio1 |
Line 28: | Line 28: |
Also download the Oracle Instant Client http://www.oracle.com/technology/tech/oci/instantclient/index.html |
Instant Client installation requires some environment variables to be able to see the library folder. Edit /etc/environment and add at the end: |
Line 31: | Line 30: |
You will need the Basic (34MB) and SDK (600K). The Basic Lite version does not work. | {{{ # Oracle Instant Client LD_LIBRARY_PATH="/usr/local/lib/instantclient_11_2" TNS_ADMIN="/usr/local/lib/instantclient_11_2" ORACLE_BASE="/usr/local/lib/instantclient_11_2" ORACLE_HOME=$ORACLE_BASE }}} Then download the [[http://www.oracle.com/technology/tech/oci/instantclient/index.html|Oracle Instant Client from Oracle.com]] (you will need to create an account) You will need the Basic (48MB) and SDK (600K). The Basic Lite version does not work. |
Line 37: | Line 46: |
cd instantclient_10_2 sudo ln -s libclntsh.so.10.1 libclntsh.so |
cd instantclient_11_2 sudo ln -s libclntsh.so.11.1 libclntsh.so |
Line 50: | Line 59: |
instantclient,/usr/local/lib/oracle_10_2 | instantclient,/usr/local/lib/instantclient_11_2 }}} You will be prompted also for the ORACLE_HOME location, type 'all', accept and then insert: {{{ instantclient,/usr/local/lib/instantclient_11_2 |
Line 56: | Line 71: |
extension = oci8.so | extension=oci8.so |
Line 68: | Line 83: |
* [[http://www.orafaq.com/wiki/PHP|Oracle PHP Wiki]] |
To be able to access Oracle databases from PHP, you will need to have PHP compiled / linked with the Oracle OCI (oci8) library.
You could use the pre-built PHP 5 from Zend or there are two other ways to get PHP working with OCI8:
- Install the Oracle Database [Oracle10g] [Oracle9i]
- Install Oracle Instant Client
If your Oracle database is in another machine, the Oracle Instant Client is a smaller install.
PHP using Oracle Database Server
TODO
PHP using Oracle Instant Client
Tested Environment:
Ubuntu Server 10.04 LTS Oracle Instant Client 11.2
Prerequisites:
sudo apt-get install build-essential sudo apt-get install php5-dev php-pear libaio1
Instant Client installation requires some environment variables to be able to see the library folder. Edit /etc/environment and add at the end:
# Oracle Instant Client LD_LIBRARY_PATH="/usr/local/lib/instantclient_11_2" TNS_ADMIN="/usr/local/lib/instantclient_11_2" ORACLE_BASE="/usr/local/lib/instantclient_11_2" ORACLE_HOME=$ORACLE_BASE
Then download the Oracle Instant Client from Oracle.com (you will need to create an account)
You will need the Basic (48MB) and SDK (600K). The Basic Lite version does not work.
cd /usr/local/lib sudo unzip <location-of-instant-client-basic> sudo unzip <location-of-instant-client-sdk> cd instantclient_11_2 sudo ln -s libclntsh.so.11.1 libclntsh.so
The symbolic link is needed by during the compilation step later.
sudo pecl install oci8
You will be prompted for the location of the library:
instantclient,/usr/local/lib/instantclient_11_2
You will be prompted also for the ORACLE_HOME location, type 'all', accept and then insert:
instantclient,/usr/local/lib/instantclient_11_2
If successful, you may now add the following line at the bottom of php.ini
extension=oci8.so
The php.ini is found in 2 places: /etc/php5/apache2/php.ini and /etc/php5/cli/php.ini
sudo /etc/init.d/apache2 reload
Check <?php echo phpinfo() ?> to verify if the OCI8 module is available.