libclntsh.so.19.1:链接损坏

发布于 2025-01-10 04:44:18 字数 1249 浏览 0 评论 0原文

Oracle XE 18c的本地计算机

  • 我有一台使用Oracle Linux 7
  • (最大需要 InstantClient 18.5)
  • httpd 和 PHP7.4

我必须降级已安装的 Oracle InstantClient(从 19.x 到 18.5)才能安装 Oracle XE 18c。 然后创建数据库,并填充运行本地网站所需的基本数据。但我仍然需要 PECL oci8 来连接数据库。我安装了它,一切正常。 然后我关闭了机器。

今天早上,我使用 sqldeveloper 和 sqlplus 更改了一些数据。这也没有问题。 然后我尝试再次使用我的网站,但它无法连接到数据库。查看错误日志并进一步分析和重建自上次运行以来我所做的事情,让我使用 php -v 检查 php 是否正在运行。

它返回以下消息:

PHP警告:PHP启动:无法加载动态库'oci8.so'(尝试过:/usr/lib64/php/modules/oci8.so(libclntsh.so.19.1:无法打开共享对象文件:没有这样的文件或目录),/usr/lib64/php/modules/oci8.so.so(/usr/lib64/php/modules/oci8.so.so:无法打开共享对象文件:第 0 行未知,没有这样的文件或目录)) PHP 警告:PHP 启动:无法加载动态库“pdo_oci.so”(尝试过:/usr/lib64/php/modules/pdo_oci.so(libclntsh.so.19.1:无法打开共享对象文件:没有这样的文件或目录) ,/usr/lib64/php/modules/pdo_oci.so.so(/usr/lib64/php/modules/pdo_oci.so.so:无法打开共享对象文件:第 0 行未知,没有这样的文件或目录)) PHP 7.4.28 (cli)(构建时间:2022 年 2 月 17 日 21:07:19)( NTS ) 版权所有 (c) PHP 集团 Zend Engine v3.4.0,版权所有 (c) Zend Technologies

我卸载并重新安装了整个 PHP 内容,确保第二次安装只有正确的版本。但我仍然得到相同的结果。

oci8.sopdo_oci.so 确实存在于上述文件夹中。 libclntsh.so.19.1 以前丢失过,确实如此。 重新安装所有内容后,它就在那里,但标记为“损坏的链接”(/lib)。

我该如何解决这个问题?

如果您需要更多信息,我很乐意提供。

谢谢!

I have a local machine with

  • Oracle Linux 7
  • Oracle XE 18c (needs max InstantClient 18.5)
  • httpd with PHP7.4

I had to downgrade the installed Oracle InstantClient (from 19.x to 18.5) in order to be able to install Oracle XE 18c.
Database was then created, and filled with the basic data needed to run my local website. But I still needed the PECL oci8 for it to connect with the DB. I installed that, everything worked fine.
Then I powered my machine off.

This morning, I changed some data using both sqldeveloper and sqlplus. No problem with that, either.
Then I tried to use my website again, and it couldn't connect to the DB. A look at the error log and some further analysis and reconstruction of what I've done since it worked last made me check if php was running, using php -v.

It returned the following message:

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 Warning: PHP Startup: Unable to load dynamic library 'pdo_oci.so' (tried: /usr/lib64/php/modules/pdo_oci.so (libclntsh.so.19.1: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/pdo_oci.so.so (/usr/lib64/php/modules/pdo_oci.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.4.28 (cli) (built: Feb 17 2022 21:07:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

I uninstalled an reinstalled the whole PHP stuff, making sure the second install has only the right versions. But I still get the same result.

Both oci8.so and pdo_oci.so do exist in the mentioned folders.
libclntsh.so.19.1 was missing before, that's true.
After reinstalling everything, it was there, but marked as "broken link" (/lib).

How can I fix this?

If you need more information, I'll be glad to provide it.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文