CentOS 7 - PHP 命令行 - 无法加载动态库“oci8”

问题描述

有没有人在升级PHP 7.2.34 时遇到过这个错误

用户目录下运行 PHP 脚本似乎是一个错误,但我一生都找不到解决方案。

我假设(对 linux 不是很好)这是本地用户帐户指向服务器上错误位置的问题。

在这里查找“/usr/lib64/PHP/modules/oci8” 哪个不存在,但是“/usr/lib64/PHP/modules”包含了我所知道的所有 .so 文件

这是完全卸载原来的PHP 7.0并升级到7.2

错误

PHP -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'oci8' (tried: /usr/lib64/PHP/modules/oci8 (/usr/lib64/PHP/modules/oci8: cannot open shared object file: No such file or directory),/usr/lib64/PHP/modules/oci8.so (libclntsh.so.19.1: cannot open shared object file: No such file or directory)) in UnkNown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_oci' (tried: /usr/lib64/PHP/modules/pdo_oci (/usr/lib64/PHP/modules/pdo_oci: cannot open shared object file: No such file or directory),/usr/lib64/PHP/modules/pdo_oci.so (libclntsh.so.19.1: cannot open shared object file: No such file or directory)) in UnkNown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'oci8.so' (tried: /usr/lib64/PHP/modules/oci8.so (libclntsh.so.19.1: cannot open shared object file: No such file or directory),/usr/lib64/PHP/modules/oci8.so.so (/usr/lib64/PHP/modules/oci8.so.so: cannot open shared object file: No such file or directory)) in UnkNown on line 0
PHP 7.2.34 (cli) (built: Jan  4 2021 14:20:18) ( NTS )
copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0,copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34,copyright (c) 1999-2018,by Zend Technologies

ls -l /usr/lib64/PHP/modules 的内容

bcmath.so
bz2.so
calendar.so
ctype.so
curl.so
dom.so
exif.so
fileinfo.so
ftp.so
gd.so
gettext.so
iconv.so
intl.so
json.so
ldap.so
mbstring.so
mcrypt.so
MysqLi.so
MysqLnd.so
oci8.so
opcache.so
pdo_MysqL.so
pdo_oci.so
pdo.so
pdo_sqlite.so
phar.so
posix.so
shmop.so
simplexml.so
sockets.so
sqlite3.so
sysvmsg.so
sysvsem.so
sysvshm.so
tokenizer.so
wddx.so
xmlreader.so
xml.so
xmlwriter.so
xsl.so

感谢任何帮助。

解决方法

假设您的数据库在远程计算机上,然后在运行 PHP 的计算机上安装 Oracle Instant Client(64 位为 here)并使用 ldconfig 方法设置系统库搜索路径。这显示在页面底部的安装说明中。还要确保安装了 libaio(或 Debian/Ubuntu 上的 libaio1 包)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...