用xampp安装oci8

时间:2013-01-09 08:03:15

标签: php oracle xampp

我在我的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 / 中。我做错了什么?

3 个答案:

答案 0 :(得分:2)

安装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

答案 1 :(得分: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 Client lib目录中看到了这一点。 有一点可以肯定的是,当我将oci8指向这个位置时,我的XAMPP正常运行。

  

Oracle运行时客户端库版本11.2.0.1.0

我的phpinfo()输出

答案 2 :(得分:2)

我刚刚安装了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 = “/选择/ oracle_instantclient”

    TNS_ADMIN = “/选择/ oracle_instantclient”

    ORACLE_BASE = “/选择/ oracle_instantclient”

    ORACLE_HOME = $ ORACLE_BASE

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

    $ sudo pecl install oci8

    在配置期间将提示您输入,输入以下内容

    instantclient,/选择/ oracle_instantclient

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

    延长= 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 restart