在RHEL 6中,我通过remi存储库安装了PHP 7.2:
# yum --enablerepo=remi-php72 install php
已检查哪些模块预装了php -m
。它没有列出。所以我开始安装它:
# yum --enablerepo=remi-php72 php72-php-oci8
Installed:
php72-php-oci8.x86_64 0:7.2.17-1.el6.remi
Complete!
再次检查模块,oci8尚未加载。为了测试我用mbstring
(默认情况下没有安装)尝试的所有模块是否都失败了:
# yum --enablerepo=remi-php72 install php-mbstring
Installed:
php-mbstring.x86_64 0:7.2.17-1.el6.remi
Complete!
如果我这样做了,php -m
会在那里成功列出mbstring。我是不是错过了oci8
的什么东西?提前谢谢你。
更新
我已经用extension=oci8
将这个扩展名添加到了php.ini文件中。然后我做了php -m
PHP警告:
启动:无法加载动态库'oci8‘(已尝试: /usr/lib64/ PHP /modules/oci8 (/usr/lib64/php/modules/oci8:无法打开共享对象文件:没有这样的文件或目录),/usr/lib64/php/modules/oci8.so (libclntsh.so.18.1:无法打开共享对象文件:没有这样的文件或目录)
看起来php在Oracle客户端找不到libclntsh.so.18.1
库。所以我决定检查一下oracle的home lib来看看:
# ls -l libclntsh*
lrwxrwxrwx. 1 oracle oinstall 61 Mar 26 16:20 libclntsh.so -> /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1
lrwxrwxrwx. 1 oracle oinstall 56 Mar 26 16:19 libclntsh.so.10.1 -> /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so
-rwxr-xr-x. 1 oracle oinstall 47251283 Mar 26 16:20 libclntsh.so.11.1
我在想的是,当我当前的客户端是11g时,oci8扩展正在尝试加载这个用于18c oracle版本的库。不知道如何解决这个问题。
https://stackoverflow.com/questions/55713955
复制相似问题