【问题标题】:oci8 installation with xampp使用 xampp 安装 oci8
【发布时间】:2012-12-23 05:34:10
【问题描述】:

我已经在我的 linux 机器上安装了 xampp。我想为 php 添加 oci8 oracle 11g 扩展。我的工作:

[root@cpcolvir bin]# /opt/lampp/lampp oci8
Please enter the path to your Oracle or Instant Client installation:
[/opt/oracle] /usr/lib/oracle/11.2/client64/lib/

但它给了我错误:

Can't find libclntsh.so. Sorry.

但我确信 libclntsh.so 位于 /usr/lib/oracle/11.2/client64/lib/ 中。我做错了什么?

【问题讨论】:

    标签: php oracle xampp


    【解决方案1】:

    安装oracle Instantclient后,设置库路径,去掉最后一个反斜杠

    export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH
    

    并通过

    重新安装oci8
    pecl install oci8
    

    通过添加进一步编辑您的 php.ini(我在 /etc/php5/apache2/php.ini

    extension=oci8.so
    

    然后重启apache

    【讨论】:

      【解决方案2】:

      我面临同样的问题并进行了一些跟踪。 当我查看这个文件时,我们执行“./lampp oci8”时的脚本文件;

      /opt/lampp_181/share/lampp/oci8install
      

      我发现它实际上不是在寻找“libclntsh.so”,而是在寻找“libclntsh.so.10*”

      libclntsh=`find $ora_home -name "libclntsh.so.10*" | head -1`
      

      尝试如下创建软链接“libclntsh.so.10.1 -> libclntsh.so”和“libclntsh.so -> libclntsh.so.11.1”;

      lrwxrwxrwx 1 oracle dba       69 2013-12-24 10:46 libclntsh.so -> /home/oracle/app/oracle/product/11.2.0/client_2/lib/libclntsh.so.11.1*
      lrwxrwxrwx 1 oracle dba       64 2013-12-24 10:46 libclntsh.so.10.1 -> /home/oracle/app/oracle/product/11.2.0/client_2/lib/libclntsh.so*
      -rwxr-xr-x 1 oracle dba 39997991 2013-12-24 10:46 libclntsh.so.11.1*
      

      以前从未尝试过,但我在完整的 Oracle 客户端 lib 目录中看到了这一点。 可以肯定的是,当我将 oci8 指向该位置时,我的 XAMPP 运行良好。

      Oracle 运行时客户端库版本 11.2.0.1.0

      我的 phpinfo() 输出

      【讨论】:

        【解决方案3】:

        我刚刚安装了 Oracle Instant Client 11.2、Ubuntu 12.04 和 xampp 1.7.x。请尝试以下步骤

        1. 从 Oracle 下载 instantclient-basic-linux-11.2.0.4.0.zip 和 instantclient-sdk-linux-11.2.0.4.0.zip

        2. 解压到同一个文件夹,移动到/opt/oracle_instantclient

        3. 将以下设置附加到 /etc/environment 的末尾

          $sudo vi /etc/environment

          ...

          LD_LIBRARY_PATH="/opt/oracle_instantclient"

          TNS_ADMIN="/opt/oracle_instantclient"

          ORACLE_BASE="/opt/oracle_instantclient"

          ORACLE_HOME=$ORACLE_BASE

        4. 构建 oci8.so(这应该没有错误地完成)

          $sudo pecl 安装 oci8

          配置时会提示输入,输入以下内容

          instantclient,/opt/oracle_instantclient

        5. 将以下行添加到 /opt/lampp/etc/php.ini

          extension=oci8.so

        6. 创建以下链接以避免启动 apache 错误

          $sudo ln -s /opt/oracle_instantclient/libclntsh.so.11.1 /opt/oracle_instantclient/libclntsh.so

          $sudo ln -s /opt/oracle_instantclient/libclntsh.so.11.1 /opt/oracle_instantclient/libclntsh.so.10.1

        7. 重启你的lampp服务器

          $sudo /opt/lampp/lampp 重启

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多