首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >-m显示oci8已启用,但在phpinfo中没有显示

-m显示oci8已启用,但在phpinfo中没有显示
EN

Stack Overflow用户
提问于 2016-05-07 15:34:33
回答 1查看 5.2K关注 0票数 2

我的目标是通过OCI8连接到Oracle数据库,该数据库可通过以下方式获得:

代码语言:javascript
运行
复制
pecl install oci8-2.0.11

为了实现这一点,我一直在网络上学习各种教程,以使其正常工作。

我学习了以下教程:

  1. files/mac-osx-oracle-instantclient.html
  2. http://www.enavigo.com/2012/01/04/enabling-oracle-oci8-php-extension-on-os-x-snow-leopard/
  3. http://tomytree22.blogspot.my/2014/09/oci-driver-installation-on-mac.html

这些教程足以运行SQL。我还能够成功地运行pecl安装oci-8.20.11并获得以下输出:

代码语言:javascript
运行
复制
You should add "extension=oci8.so" to php.ini

在上面列出的第3篇教程中,我遵循了除实例化客户端库之外的所有内容,它们都有一些我们需要处理的硬编码路径:

当我运行php -m时,我可以看到oci8在那里,但是我看不到它在我的phpinfo中。我做错什么了?

无论如何,当我试图连接到Oracle数据库时,都会遇到以下问题:

代码语言:javascript
运行
复制
Fatal error: Call to undefined function oci_connect()

我希望这里有人能帮我。我在用艾尔·卡皮坦。

EN

回答 1

Stack Overflow用户

发布于 2016-05-09 03:15:42

所以我修好了。这是我如何找到解决方案的方法。

我查看了我的php日志(确保您启用了PHP来记录所有错误!)只需转到您的error_log路径以查找错误),我发现如下:

06-2016 05-2016 09:48欧洲/柏林PHP警告: PHP启动:无法加载动态库'/Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/oci8.so‘- dlopen(/Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/oci8.so,9):库未加载: /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1

09-2016 05-2016 04:53欧洲/柏林PHP警告: PHP启动:无法加载动态库'/Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/oci8.so‘- dlopen(/Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/oci8.so,9):库未加载: /ade/dosulliv_ldapmac/oracle/ldap/lib/libnnz11.dylib

所以oci8.so没有加载,因为有两个库没有加载。

,这是我修复它的方法:

这意味着,我跳过的那个是实例化客户端库,它有一些我们需要处理的硬编码路径:就是我需要的路径。因此,我运行以下命令(从教程中粘贴的副本):

代码语言:javascript
运行
复制
sudo mkdir -p /ade/b/3071542110/oracle/rdbms/lib/
sudo ln -sf /Applications/MAMP/bin/php/php5.5.10/lib/php/instantclient_11_2/libclntsh.dylib.11.1 /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
sudo mkdir -p /ade/dosulliv_ldapmac/oracle/ldap/lib/
sudo ln -sf /Applications/MAMP/bin/php/php5.5.10/lib/php/instantclient_11_2/libnnz11.dylib /ade/dosulliv_ldapmac/oracle/ldap/lib/libnnz11.dylib

然后我重新启动了我的奶妈。现在我得到了我想要的,那就是OCI8。现在这些信息可以在我的PHPInfo上找到。

希望这将帮助其他人,谁正在走相同的道路,建立OCI连接到Oracle的MAMP。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37090380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档