PHP7.0 - 无法加载动态库oci8.so(Ubuntu)

时间:2017-10-26 22:46:00

标签: php ubuntu oci

在遵循oracle即时客户端的安装说明后,php无法加载oci8扩展名 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html#ic_x64_inst

我收到错误。
PHP警告:PHP启动:无法加载动态库' /usr/lib/php/20151012/oci8.so' - libmql1.so:无法打开共享对象文件:第0行的“未知”中没有此类文件或目录

我已经验证了oci8.so和libmql1.so位置。

我错过了什么吗?

5 个答案:

答案 0 :(得分:1)

我使用的是Ubuntu 16.04和php 7.1版

/usr/lib/php/中的目录很少 例如

20131226 for php5.6

20160303 for php7.1

我的问题是,oci8扩展安装错了(php7.2的用户lib文件夹)所以我不得不完全删除php 7.2

sudo apt-get purge php7.2-common

然后我通过运行以下命令

卸载了oci8
sudo pecl uninstall oci8

并通过运行以下命令再次安装

sudo pecl install oci8

要检查加载的配置,请执行

php-config --extension-dir

确保所有扩展程序都安装在正确的扩展目录中。

/etc/php/7.1/apache2/php.ini/etc/php/7.1/cli/php.ini

中进行更改

通过运行phpinfo();进行检查您必须看到这一点,忽略cli,如果静止图像会出现与您的网络显示扩展程序已加载相同的错误。

enter image description here

答案 1 :(得分:0)

我解决了将以下内容添加到/etc/environment

LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH

我遵循了本教程:https://gist.github.com/hewerthomn/81eea2935051eb2500941a9309bca703

答案 2 :(得分:0)

我所做的是完全删除了所有PHP安装并重新安装了所需的版本。

sudo apt-get purge 'php*'

来源:https://askubuntu.com/a/59889/226518

答案 3 :(得分:0)

或者:

export LD_LIBRARY_PATH=/usr/local/instantclient_12_1/

我遇到了同样的问题,对我有用。

答案 4 :(得分:0)

在为这个小问题浪费了一整天之后,我终于找到了这个解决方案。 对不起,我不是冠军是 PHP 但不知何故我管理。 在我的系统中,我有 CentOS 7 和 PHP 7.4.XX。 我改变了我的 LD_LIBRARY_PATH, 我已经重新启动了我的 httpd 服务并在浏览器(http://localhost/info.php)中检查了 phpinfo, 上次我重新启动了 php-fpm 服务.........它对我有用。

谢谢你, 阿南