在 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/