安装 oci8 php 扩展

安装 oci8 php 扩展

在 CentOS 7 服务器上,我从 remi 存储库安装了 PHP。我需要连接到远程计算机上的 Oracle 9.2。通过yum install oci8结果安装oci8OCI8 Version 2.1.0与Oracle 9.2不兼容。以下来自phpinfo输出。

OCI8 Support    enabled
OCI8 DTrace Support enabled
OCI8 Version    2.1.0
Revision    $Id: 8e84657b6fdeaa913819689ef327ad2808110ed4 $
Oracle Run-time Client Library Version  12.1.0.2.0
Oracle Compile-time Instant Client Version  12.1

尝试使用以下命令安装早期版本pecl install oci8-1.4.10也会失败:

In file included from /var/tmp/oci8/oci8.c:58:0:
/var/tmp/oci8/php_oci8_int.h:56:17: fatal error: oci.h: No such file or directory
 #include <oci.h>
                 ^
compilation terminated.
make: *** [oci8.lo] Error 1
ERROR: `make' failed

我应该怎么做才能安装 oci8 版本 1.*?

答案1

您尝试过以下步骤吗?:

安装两个 RPM 包:

rpm -ivh instantclient-basic-linux.XXX.rpm
rpm -ivh instantclient-sdk-linux.XXX.rpm

安装一些先决条件

yum install php-pear yum install php-devel

下载 OCI8 扩展

pear download pecl/oci8 
tar xvzf oci8-1.4.7.tgz 
cd oci8-1.4.7/phpize

使用您的 Oracle 客户端库路径配置扩展(使用您自己的版本更改路径 …/11.2/… ):

./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/

编译安装

make 
make install

配置SELinux:允许httpd执行需要可执行和可写内存地址的程序

setsebool -P httpd_execmem 1

在php.ini末尾添加以下配置

vi /etc/php.ini
[OCI8] extension=oci8.so

重新启动阿帕奇

service httpd restart

来源:http://antoine.hordez.fr/2012/09/30/howto-install-oracle-oci8-on-rhel-centos-fedora/

相关内容