以前都是在Centos下安装的,虚拟机安了一个Ubuntu 24.04,之前PHP的环境都是好的,升级了一下,OCI和PDO_OCI用不起了


闲置了很久,今天抽点时间修复了一下。


遇到几个问题:

1、原来的Oracle client是rpm的,需要重新下载,下载zip,解压放在同一个目录即可。

下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

2、pecl install oci安装会提示输入路径,这里需要按要求输入instantclient,你解压的路径,注意前面有个单词,要按要求来

3、pdo_oci和oci是一样的安装方式,需要单独安一次

4、安装完以后,依然会报找不到文件,但是报错里面会出现一个libaio.so.1的文件找不到的提示


这时候你可以输入:


ldd /usr/lib/php/202309/oci8.so


这时候也会看到对应的so没有。



5、使用sudo apt-get install libaio1,会提示没有可用的软件包,使用下面地址下载,如果失效,就下载附件吧



curl -O http://launchpadlibrarian.net/646633572/libaio1_0.3.113-4_amd64.deb
libaio1_0.3.113-4_amd64.zip 
6、安装libaio1

sudo dpkg -i libaio1_0.3.113-4_amd64.deb

7、再把dev安装上

sudo apt-get install libaio-dev

安装完成后,使用php -m发现报错消失了。
参考:https://www.cnblogs.com/starfish29/p/18009925
https://blog.csdn.net/engchina/article/details/139812240