我在我的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 / 中。我做错了什么?
答案 0 :(得分:2)
安装oracle instantclient后,你应该设置库路径并让最后一个反斜杠
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH
并通过
重新安装oci8pecl 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.请尝试以下步骤
从Oracle下载instantclient-basic-linux-11.2.0.4.0.zip和instantclient-sdk-linux-11.2.0.4.0.zip
将其解压缩到同一文件夹并将其移至/ opt / oracle_instantclient
将以下设置附加到/ etc / environment
的结尾$ sudo vi / etc / environment
...
LD_LIBRARY_PATH = “/选择/ oracle_instantclient”
TNS_ADMIN = “/选择/ oracle_instantclient”
ORACLE_BASE = “/选择/ oracle_instantclient”
ORACLE_HOME = $ ORACLE_BASE
构建oci8.so(这应该没有错误地完成)
$ sudo pecl install oci8
在配置期间将提示您输入,输入以下内容
instantclient,/选择/ oracle_instantclient
将以下行添加到/opt/lampp/etc/php.ini
延长= oci8.so
创建以下链接以避免启动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
重新启动您的lampp服务器
$ sudo / opt / lampp / lampp restart