Skip to content

Instantly share code, notes, and snippets.

@dreanmer
Last active August 2, 2023 18:50
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 dreanmer/48969c24e88577a3f73452ae5ce1f078 to your computer and use it in GitHub Desktop.
Save dreanmer/48969c24e88577a3f73452ae5ce1f078 to your computer and use it in GitHub Desktop.
install oracle oci8 on ubuntu 20.4 and php 7.4

as root:

  1. create mkdir /opt/oracle && cd /opt/oracle and cd into it
  2. from repository site/master -> .docker/ copy instantclient-basic-linux.x64-12.1.0.2.0.zip && instantclient-sdk-linux.x64-12.1.0.2.0.zip
  3. unzip and create the symlinks:
  unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
  && unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
  && 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/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \
  && ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
  && rm -rf /opt/oracle/*.zip
  1. put the oracle path on environment:
  echo LD_LIBRARY_PATH=\"/opt/oracle/instantclient_12_1\" >> /etc/environment
  echo /opt/oracle/instantclient_12_1/ > /etc/ld.so.conf.d/zz_php_oci8.conf
  ldconfig
  1. install php extension using pecl: echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0
  2. enable it on php.ini as oci extension (double check if you are editing the right php.ini)
  3. reload services
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment