Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save proactive-dev/e1ed8a58f3c5715e48b0707b5fed4f88 to your computer and use it in GitHub Desktop.
Save proactive-dev/e1ed8a58f3c5715e48b0707b5fed4f88 to your computer and use it in GitHub Desktop.

Revisions

  1. @Yukibashiri Yukibashiri revised this gist Oct 19, 2018. 1 changed file with 14 additions and 3 deletions.
    17 changes: 14 additions & 3 deletions install_oci8_ubuntu_18.04_php7.2.md
    Original file line number Diff line number Diff line change
    @@ -102,9 +102,9 @@ instantclient,/opt/oracle/instantclient_12_2
    We need to tell PHP to load the OCI8 extension.

    ```
    echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/fpm/php.ini
    echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/cli/php.ini
    echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/apache2/php.ini
    echo "extension =oci8.so" >> /etc/php/7.2/fpm/php.ini
    echo "extension =oci8.so" >> /etc/php/7.2/cli/php.ini
    echo "extension =oci8.so" >> /etc/php/7.2/apache2/php.ini
    ```

    @@ -113,10 +113,21 @@ We also need to add on apache those environment variables.
    ```
    echo "export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2" >> /etc/apache2/envvars
    echo "export ORACLE_HOME=/opt/oracle/instantclient_12_2" >> /etc/apache2/envvars
    echo "LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH" >> /etc/environment
    ```

    ### Step 4

    Refresh the server. If you are accessing through SSH, then
    ```
    exit
    ```
    or
    ```
    sudo shutdown -r now
    ```

    Check if the extension is enabled.

    ```
  2. @Yukibashiri Yukibashiri revised this gist Oct 19, 2018. 1 changed file with 7 additions and 0 deletions.
    7 changes: 7 additions & 0 deletions install_oci8_ubuntu_18.04_php7.2.md
    Original file line number Diff line number Diff line change
    @@ -108,6 +108,13 @@ echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/apache2/php.ini
    ```

    We also need to add on apache those environment variables.

    ```
    echo "export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2" >> /etc/apache2/envvars
    echo "export ORACLE_HOME=/opt/oracle/instantclient_12_2" >> /etc/apache2/envvars
    ```

    ### Step 4

    Check if the extension is enabled.
  3. @Yukibashiri Yukibashiri revised this gist Oct 19, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions install_oci8_ubuntu_18.04_php7.2.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,8 @@
    # How to install OCI8 on Ubuntu 18.04 and PHP 7.2
    Source: http://www.syahzul.com/2016/04/06/how-to-install-oci8-on-ubuntu-14-04-and-php-5-6/

    Source: https://medium.com/@kabeza/setup-oracle-instant-client-with-apache-and-php-7-on-ubuntu-server-17-04-66cea2297d6f

    Source: https://gist.github.com/hewerthomn/81eea2935051eb2500941a9309bca703#file-install_oci8_ubuntu_16-04_php7-1-md

    ## Install Oracle Instant Client and SDK
  4. @Yukibashiri Yukibashiri renamed this gist Oct 19, 2018. 1 changed file with 21 additions and 11 deletions.
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,7 @@
    # How to install OCI8 on Ubuntu 16.04 and PHP 7.1
    # How to install OCI8 on Ubuntu 18.04 and PHP 7.2
    Source: http://www.syahzul.com/2016/04/06/how-to-install-oci8-on-ubuntu-14-04-and-php-5-6/
    Source: https://medium.com/@kabeza/setup-oracle-instant-client-with-apache-and-php-7-on-ubuntu-server-17-04-66cea2297d6f
    Source: https://gist.github.com/hewerthomn/81eea2935051eb2500941a9309bca703#file-install_oci8_ubuntu_16-04_php7-1-md

    ## Install Oracle Instant Client and SDK
    ### Step 1
    @@ -9,7 +11,7 @@ Download the Oracle Instant Client and SDK from Oracle website.

    [http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html](http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html)

    Files: `instantclient-basic-linux.x64-12.1.0.2.0.zip` and `instantclient-sdk-linux.x64-12.1.0.2.0.zip`.
    Files: `instantclient-basic-linux.x64-12.2.0.1.0.zip` and `instantclient-sdk-linux.x64-12.2.0.1.0.zip`.

    ### Step 2

    @@ -27,25 +29,25 @@ Now we need to extract the files.

    ```
    cd /opt/oracle
    unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
    unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
    unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
    unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip
    ```

    ### Step 4

    Next, we need to create a symlink to Instant Client files.

    ```
    ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so
    ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so
    ln -s /opt/oracle/instantclient_12_2/libclntsh.so.12.1 /opt/oracle/instantclient_12_2/libclntsh.so
    ln -s /opt/oracle/instantclient_12_2/libocci.so.12.1 /opt/oracle/instantclient_12_2/libocci.so
    ```

    ### Step 5

    Add the folder to our `ldconfig`.

    ```
    echo /opt/oracle/instantclient_12_1 > /etc/ld.so.conf.d/oracle-instantclient
    echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient
    ```

    ### Step 6
    @@ -74,7 +76,13 @@ apt-get install php-dev php-pear build-essential libaio1
    ### Step 2

    Once installed, we need to get the OCI8 file.
    But, before that we need to update PECL channel.

    ```
    pecl channel-update pecl.php.net
    ```
    Then.

    ```
    pecl install oci8
    @@ -84,16 +92,18 @@ pecl install oci8
    When you are prompted for the Instant Client location, enter the following:

    ```
    instantclient,/opt/oracle/instantclient_12_1
    instantclient,/opt/oracle/instantclient_12_2
    ```

    ### Step 3

    We need to tell PHP to load the OCI8 extension.

    ```
    echo "extension = oci8.so" >> /etc/php/7.1/fpm/php.ini
    echo "extension = oci8.so" >> /etc/php/7.1/cli/php.ini
    echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/fpm/php.ini
    echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/cli/php.ini
    echo "extension = /usr/lib/php/20170718/oci8.so" >> /etc/php/7.2/apache2/php.ini
    ```

    ### Step 4
    @@ -111,7 +121,7 @@ If returns `oci8`, its works!
    Restart the PHP-FPM

    ```
    service php7.1-fpm restart
    service php7.2-fpm restart
    ```

    Now you can connect to Oracle DBMS from your PHP applications.
  5. @hewerthomn hewerthomn created this gist Feb 22, 2017.
    117 changes: 117 additions & 0 deletions install_oci8_ubuntu_16.04_php7.1.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,117 @@
    # How to install OCI8 on Ubuntu 16.04 and PHP 7.1
    Source: http://www.syahzul.com/2016/04/06/how-to-install-oci8-on-ubuntu-14-04-and-php-5-6/

    ## Install Oracle Instant Client and SDK
    ### Step 1

    Download the Oracle Instant Client and SDK from Oracle website.
    (Need to login in Oracle page)

    [http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html](http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html)

    Files: `instantclient-basic-linux.x64-12.1.0.2.0.zip` and `instantclient-sdk-linux.x64-12.1.0.2.0.zip`.

    ### Step 2

    Create a new folder to store Oracle Instant Client zip files on your server.

    Upload the Instant Clients files inside this folder.

    ```
    mkdir /opt/oracle
    ```

    ### Step 3

    Now we need to extract the files.

    ```
    cd /opt/oracle
    unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
    unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
    ```

    ### Step 4

    Next, we need to create a symlink to Instant Client files.

    ```
    ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so
    ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so
    ```

    ### Step 5

    Add the folder to our `ldconfig`.

    ```
    echo /opt/oracle/instantclient_12_1 > /etc/ld.so.conf.d/oracle-instantclient
    ```

    ### Step 6

    Update the Dynamic Linker Run-Time Bindings

    ```
    ldconfig
    ```

    Done. Now we can proceed to the next part.


    ## Install Additional Packages

    To install the OCI8 extension, we need to install some additional package on our server.

    ### Step 1

    Run these command:

    ```
    apt-get install php-dev php-pear build-essential libaio1
    ```

    ### Step 2

    Once installed, we need to get the OCI8 file.


    ```
    pecl install oci8
    ```


    When you are prompted for the Instant Client location, enter the following:

    ```
    instantclient,/opt/oracle/instantclient_12_1
    ```

    ### Step 3

    We need to tell PHP to load the OCI8 extension.

    ```
    echo "extension = oci8.so" >> /etc/php/7.1/fpm/php.ini
    echo "extension = oci8.so" >> /etc/php/7.1/cli/php.ini
    ```

    ### Step 4

    Check if the extension is enabled.

    ```
    php -m | grep 'oci8'
    ```

    If returns `oci8`, its works!

    ### Step 5

    Restart the PHP-FPM

    ```
    service php7.1-fpm restart
    ```

    Now you can connect to Oracle DBMS from your PHP applications.