Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yajra/e993c781237c33d7eeeaf3efed76e4ce to your computer and use it in GitHub Desktop.
Save yajra/e993c781237c33d7eeeaf3efed76e4ce to your computer and use it in GitHub Desktop.
How to install OCI8 on macOS 10.15 (Catalina) with PHP 7.3 or 7.4 (Homebrew)

How to install OCI8 on macOS 10.15 (Catalina) with PHP 7.3 or 7.4

Requirements

  • Homebrew
  • Command Line Tools for Xcode
  • PHP 7.3 or 7.4 via Homebrew

Preparation

Create a folder to store Oracle Instant Client files.

sudo mkdir /opt/oracle

Download Oracle Instant Client

Download the following files from Oracle website

Unzip all theses files into a the directory /opt/oracle/instantclient_19_8.

Create symlinks

ln -s /opt/oracle/instantclient_19_8/sdk/include/*.h /usr/local/include/
ln -s /opt/oracle/instantclient_19_8/*.dylib /usr/local/lib/
ln -s /opt/oracle/instantclient_19_8/*.dylib.19.1 /usr/local/lib/
ln -s /usr/local/lib/libclntsh.dylib.19.1 /usr/local/lib/libclntsh.dylib

Install extension with PECL

pecl install oci8-2.2.0

If the script prompt you to provide the path to ORACLE_HOME directory, respond with:

instantclient,/opt/oracle/instantclient_19_8

Note:

If you ever got error command not found: pecl, make sure PHP bin folder is included in your environment path.

Test it out

Create a file containing the following codes.

if (function_exists('oci_connect')) {
    echo 'OCI8 is working!';
}
else {
    echo 'Whoopss...not working!';
}

Restart your HTTP Server and test.

References

@akhiidwandhare
Copy link

@yajra

I followed all steps but getting error something like this.
Any idea about it?

Screenshot 2023-12-14 at 17 18 46

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment