Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MAMP:PHP-m显示启用了oci8,但不是在phpinfo中_Php_Oracle_Mamp_Oracle Call Interface - Fatal编程技术网

MAMP:PHP-m显示启用了oci8,但不是在phpinfo中

MAMP:PHP-m显示启用了oci8,但不是在phpinfo中,php,oracle,mamp,oracle-call-interface,Php,Oracle,Mamp,Oracle Call Interface,我的目标是通过OCI8连接到Oracle数据库,OCI8可通过以下方式获得: pecl install oci8-2.0.11 为了实现这一点,我一直在网上学习各种教程,以使其发挥作用 我遵循了以下教程: 这些教程足以运行SQL Plus。我还能够成功运行pecl安装oci-8.20.11并获得以下输出: You should add "extension=oci8.so" to php.ini 在上面列出的第3个教程中,我遵循了除instantclient library下的所有内容

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

pecl install oci8-2.0.11
为了实现这一点,我一直在网上学习各种教程,以使其发挥作用

我遵循了以下教程:

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

    You should add "extension=oci8.so" to php.ini
    
    在上面列出的第3个教程中,我遵循了除instantclient library下的所有内容,其中有些硬编码路径需要注意:

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

    当我尝试连接到Oracle数据库时,我遇到了以下问题:

    Fatal error: Call to undefined function oci_connect()
    

    我希望这里有人能帮助我。我正在使用El Capitan。

    所以我修复了它。下面是我得到解决方案的方法

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

    [06-May-2016 09:48:12 Europe/Berlin]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-May-2016 04:53:51 Europe/Berlin]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

    So oci8.So未加载,因为有两个库未加载

    我是这样修复的:

    这意味着,我跳过的instantclient库有一些我们需要处理的硬编码路径:就是我需要的路径。因此,我运行以下命令(从教程中复制粘贴):

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


    希望这将有助于其他人在MAMP上建立OCI连接到Oracle。我想这可能会引起冲突。你是如何安装PHP的?您正在使用哪个版本的Oracle DB及其位置?@FiidoFirdauz它可能会导致冲突?你这是什么意思?我正在使用Oracle即时客户端。我正在使用MAMP进行开发(PHP5.6.10)。首先检查在PHP64/32位上运行的代码。如果PHP是32位的,则需要使用32位Oraclelibraries@FiidoFirdauz我的PHP是64位的。是的,我也在使用64位Oracle库。
    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