鑑於網上搜到的教程都比較陳舊且操作繁瑣,特更新一篇新版的教程
本文在CentOS 7.6和PHP7.3.6上驗證通過
1. 下載
oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
oracle-instantclient19.3-devel-19.3.0.0.0-1.x86_64.rpm
oci8-2.2.0.tgz
以上三個包在Oracle官網都能下載到
2. 安裝instantclient1
yum install oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
yum install oracle-instantclient19.3-devel-19.3.0.0.0-1.x86_64.rpm
將會安裝到/usr/lib/oracle/19.3/client64目錄
3. 編譯安裝oci8
tar zxvf oci8-2.2.0.tgz
cd oci8-2.2.0
phpize
./configure --with-oci8=instantclient,/usr/lib/oracle/19.3/client64/lib
make
sudo make install
如果php編譯安裝到/opt/php目錄,擴展將會安裝到/opt/php/lib/php/extensions/no-debug-non-zts-20180731/
4. 編譯安裝pdo_oci
PHP 7.3.6的源碼包裏已經附帶了pdo_oci的源碼,但要手動編譯生成擴展
cd php-7.3.6/ext/pdo_oci/
phpize
./configure --with-pdo-oci=instantclient,/usr/lib/oracle/19.3/client64/lib
make
sudo make install
如果php編譯安裝到/opt/php目錄,擴展將會安裝到/opt/php/lib/php/extensions/no-debug-non-zts-20180731/
5. 加載oci8和pdo_oci模塊
修改php.ini文件,增加或修改
extension=oci8.so
extension=pdo_oci
重啓PHP-FPM服務,即可生效