在遵循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位置。
我错过了什么吗?
答案 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
然后我通过运行以下命令
卸载了oci8sudo 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,如果静止图像会出现与您的网络显示扩展程序已加载相同的错误。
答案 1 :(得分:0)
我解决了将以下内容添加到/etc/environment
:
LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH
我遵循了本教程:https://gist.github.com/hewerthomn/81eea2935051eb2500941a9309bca703
答案 2 :(得分:0)
答案 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 服务.........它对我有用。
谢谢你, 阿南