Go to Scriptcase store

# Enabling Oracle Cloud ODBC

At Scriptcase, we have the following drivers available for connection to Oracle: Oracle 8.0.5 or Higher, Oracle PDO, Oracle ODBC and Oracle 8 . If you are using your own pre-configured environment, Oracle extensions must be enabled manually in PHP.

> IMPORTANT: If you are using Scriptcase’s automatic installer, the extensions are already enabled in PHP, ready for connection. The procedure below is only for manual installations of Scriptcase.

## Prerequisites

Before proceeding with this documentation, check your PHP architecture. For drivers to be enabled correctly, files must be downloaded according to the architecture used.

- In your Scriptcase, there is the file info.php, access it by the URL: `http://127.0.0.1:8092/scriptcase/info.php`, where you will find the information regarding the architecture in phpinfo().

> CAUTION: Download the Oracle instant client according to your PHP architecture.

- Architecture i386/i686 = 32 bits
- Architecture x86_64 = 64 bits

Below are listed the files required for Oracle drivers to be enabled.

### Required files:

- oci8.so Extension: Click here

### Ubuntu x64

- Oracle Instant Client - Basic Package 12.1.0.2(x86_64): Click here
- Oracle Instant Client - Devel Package 12.1.0.2(x86_64): Click here

### Red-Hat/Centos/OpenSuse

#### x86_64

- Oracle Instant Client - Basic Package 12.1.0.2(x86_64): Click here
- Oracle Instant Client - Devel Package 12.1.0.2(x86_64): Click here
- Oracle Instant Client - ODBC Package 12.1.0.2(x86_64): Click here

#### i386/i686

- Oracle Instant Client - Basic Package 12.1.0.2(i386/i686): Click here
- Oracle Instant Client - Devel Package 12.1.0.2(i386/i686): Click here
- Oracle Instant Client - ODBC Package 12.1.0.2(i386/i686): Click here

> IMPORTANT: PHP 8.1 is compatible with Oracle Instant Client 11.2 or higher.
> To download Oracle Instant Client lower than version 19.5.0.0, it is necessary to have an Oracle Account.

### Other Files

- Oracle Instant Client 12.2.0 ou Higher: Click here

### Compatibility Table

Drive | Oracle Database Version |  |  |  |  |  |  |
--- | --- | --- | --- | --- | --- | --- | --- | ---
Oracle ODBC | 9i | 10g | 11g R1 | 11g R2(11.2) | 12c | 18c | 19c |
Instant Client | Oracle database version |  |  |  |  |  |  |
19.6.0.0 | 9i | 10g | 11g R1 | 11g R2(11.2) | 12c | 18c | 19c |

## Configuring Oracle Cloud ODBC on Linux

It is necessary to enable the Oracle extension in PHP and configure instant_client to make the connection. Follow the steps outlined below to enable the connection drivers.

1 - Install the packages below:

UBUNTU\DEBIAN | CENTOS\RHEL
--- | ---
`sudo apt-get update` | `sudo yum update`
`sudo apt-get install libaio1` | `sudo yum install libaio-devel`
`sudo apt-get install libncurses5` | `sudo yum install libaio`
`sudo apt-get install alien` | `sudo yum install glibc`
`sudo apt-get install gcc-multilib g++-multilib` | `sudo yum install compat-libstdc++-33`
`sudo apt-get install libpam0g` | `sudo yum install glibc-devel`
`sudo apt-get install unixodbc-dev unixodbc` | `sudo yum install libstdc++`
| `sudo yum install libstdc++`
| `sudo yum install pam`
| `sudo yum install ncurses-devel`
| `sudo yum install unixODBC`

2 - Convert and install the previously downloaded Instant Client Basic packages on your Linux system:

UBUNTU\DEBIAN | CENTOS\RHEL
--- | ---
`sudo alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm` | `sudo yum install oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm`
`sudo alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm` | `sudo yum install oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm`
`sudo dpkg -i oracle-instantclient12.1-basic_12.1.0.2.0-2_amd64.deb` |
`sudo dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb` |

3 - Copy the oci8.so extension to the PHP extensions directory:

EX: `sudo cp oci8.so /usr/lib/php/20180731`

Access the info.php file and look for the extension_dir line. It will tell you the exact path to the directory responsible for PHP extensions.

4 - Edit the php.ini file and declare the Oracle extension at the end of the file.

UBUNTU\DEBIAN | CENTOS\RHEL
--- | ---
`/etc/php/8.1/apache2/php.ini` | `/etc/php.ini`

EX: `extension=oci8.so`

5 - Edit the environment variable file and declare the variable responsible for identifying the Oracle library:

Enter the variable LD_LIBRARY_PATH and the path to the library in the file responsible for your system’s environment variables. Check the path below according to your operating system:

> WARNING: The path to the library may depend on your installation, by default the path is this: `/usr/lib/oracle/12.1/client64/lib/`.

UBUNTU\DEBIAN | CENTOS\RHEL
--- | ---
`sudo nano /etc/apache2/envvars` | `sudo nano /etc/sysconfig/httpd`

- Add this variable at the end of the file with the following syntax:

`export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/`

E.g.

> NOTE: If you are using CentOS/RHEL, it is not necessary to use ‘export’ before the variable.

6 - Restart the Scriptcase apache service for the changes to take effect. Use the commands below according to your operating system.

UBUNTU\DEBIAN | CENTOS\RHEL
--- | ---
`sudo service apache2 restart` | `sudo systemctl restart httpd`

## Connection to Scriptcase

- Oracle ODBC: Click here