Ubuntu 20.04 PHP7.4 OCI8+PDO_OCIのインストール

OSはUbuntu 20.04.3で、PHPは既定のPHP7.4.3をインストールしている前提。

### 事前準備
apt install php-dev build-essential libaio1
cd /usr/local/src
curl -O https://www.php.net/distributions/php-7.4.3.tar.gz
tar xzvf php-7.4.3.tar.gz
curl -O https://download.oracle.com/otn_software/linux/instantclient/214000/instantclient-basic-linux.x64-21.4.0.0.0dbru.zip
unzip instantclient-basic-linux.x64-21.4.0.0.0dbru.zip
curl -O https://download.oracle.com/otn_software/linux/instantclient/214000/instantclient-sdk-linux.x64-21.4.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-21.4.0.0.0dbru.zip
curl -O https://pecl.php.net/get/oci8-2.2.0.tgz
tar xzvf oci8-2.2.0.tgz

### Instant client
echo /usr/local/src/instantclient_21_4 > /etc/ld.so.conf.d/oracle-instantclient.conf
ldconfig

### oci8
cd /usr/local/src/oci8-2.2.0
./configure --with-oci8=instantclient,/usr/local/src/instantclient_21_4
make
make install
echo 'extension=oci8.so' > /etc/php/7.4/mods-available/oci8.ini
phpenmod oci8

### pdo_oci
cd /usr/local/src/php-7.4.3/ext/pdo_oci
phpize
./configure -with-pdo-oci=instantclient,/usr/local/src/instantclient_21_4,21.4
make
make install
echo 'extension=pdo_oci.so' > /etc/php/7.4/mods-available/pdo_oci.ini
phpenmod pdo_oci

### 確認
php -m | grep -i oci
(oci8, PDO_OCIが出力されたらOK)

上の手順は下の記事を参考に、最新化 & 必要な手順を追加 & 不要な手順を削除したものです。

Install OCI8 dan PDO_OCI ubuntu 20.04 (Ahmad Afandi氏、インドネシア語

実はもっと簡単な方法があるかもしれませんけど、とりあえず上記でOracle 18にアクセスできるようになりました。