PHP 5.6 OCI8安装问题:

cp堆栈

我试图在Red Hat 7(PHP 5.6.x.)上安装OCI8扩展,我已经花了至少两天的时间来弄清楚这一点,包括将SuperUser和StackOverflow结合在一起。到目前为止,没有任何答案可以解决问题。

我在以下位置安装了Oracle Instant Client:

/usr/lib/oracle/12.1/client64/lib/

当我运行以下命令时:

pecl install oci8-2.0.10 --with-oci8=instantclient,/usr/lib/oracle/12.1/client64/lib/

它要求我提供ORACLE_HOME的路径。我确认已经定义好了,所以按Enter键继续。一旦完成,它就会运行make命令,并在此输出错误:

/bin/sh /var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/libtool --mode=compile cc  -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/include -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/home/oracle/oracle/product/rdbms/public -I/home/oracle/oracle/product/rdbms/demo  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/oci8/oci8.c -o oci8.lo
libtool: compile:  cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/include -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/home/oracle/oracle/product/rdbms/public -I/home/oracle/oracle/product/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c  -fPIC -DPIC -o .libs/oci8.o
In file included from /var/tmp/oci8/oci8.c:48:0:
/var/tmp/oci8/php_oci8_int.h:60:17: fatal error: oci.h: No such file or directory
 #include <oci.h>
                 ^
compilation terminated.
make: *** [oci8.lo] Error 1
ERROR: `make' failed

我了解它找不到oci.h文件。因此,我认为,如果我提供它,Oracle Instant Client的位置将超过该错误。因此,在前一个命令要求ORACLE_HOME环境变量的地方,我提供了以下内容:

checking Oracle ORACLE_HOME install directory... /usr/lib/oracle/12.1/client64/lib/
checking ORACLE_HOME library validity... configure: error: Expected an ORACLE_HOME top level directory but /usr/lib/oracle/12.1/client64/lib/ appears to be an Instant Client directory. Try --with-oci8=instantclient,/usr/lib/oracle/12.1/client64/lib/
ERROR: `/var/tmp/oci8/configure --with-oci8=/usr/lib/oracle/12.1/client64/lib/' failed

我无法弄清楚为什么它失败了。我听说需要安装SDK,但据我所知,当安装即时客户端时,我还安装了SDK。

任何帮助将非常感激。谢谢!

我有一个完全相同的问题,一个差异,在我的情况下是php54。我确实认为/希望我的解决方案也适用于您:

echo "instantclient,/usr/lib/oracle/12.1/client64/lib"|pecl install oci8-2.0.10

安装oci驱动程序没有任何问题。在我的情况下,由于默认的php版本是5.3,所以我使用5.4提供的rh提供的软件包,并且必须在开始pecl进行oci安装之前获取/ opt / rh / php54 / enable的源代码。我希望这有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章