Size: 1775
Comment: converted to 1.6 markup
|
Size: 2334
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 PHP compiled / linked with the Oracle OCI (oci8) library . You could use the pre-built PHP 5 from Zend http://www.oracle.com/technology/tech/php/zendcore/index.html |
To be able to access Oracle databases from PHP, you will need to have PHP compiled / linked with the Oracle OCI (oci8) library. |
Line 4: | Line 3: |
or there are two other ways to get PHP working with OCI8: | 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 19: | 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 29: | 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 32: | 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 38: | 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 51: | Line 59: |
instantclient,/usr/local/lib/oracle_10_2 | instantclient,/usr/local/lib/oracle_11_2 }}} You will be prompted also for the ORACLE_HOME location, type 'all', accept and then insert: {{{ instantclient,/usr/local/lib/oracle_11_2 |
Line 57: | Line 71: |
extension = oci8.so | extension=oci8.so |
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 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
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 [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.
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/oracle_11_2
You will be prompted also for the ORACLE_HOME location, type 'all', accept and then insert:
instantclient,/usr/local/lib/oracle_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.