资讯专栏INFORMATION COLUMN

PHP 使用 Oracle 数据库的准备工作

yuanzhanghu / 831人阅读

摘要:系统前言想让可以操作数据库,那绝对是需要安装关于扩展。的扩展叫扩展包下载地址网页上会显示如下的下载列表如系统是位则选择第个,位选择第个。选择错误会造成的时候报兼容失败。下面是位系统的演示。

系统 : Linux Centos 7.0

前言:想让PHP可以操作Oracle数据库,那绝对是需要安装关于Oracle扩展。php的Oracle扩展叫oci

oracle扩展包下载地址:
http://www.oracle.com/technet...

网页上会显示如下的下载列表:

Download Oracle Database 10g Instant Client for Microsoft Windows (32-bit)

Download Oracle Database 10g Instant Client for Microsoft Windows 64-bit Itanium

Download Oracle Database 10g Instant Client for Microsoft Windows (x64)

Download Oracle Database 10g Instant Client for Linux x86

Download Oracle Database 10g Instant Client for Linux x86-64

Download Oracle Database 10g Instant Client for Linux Itanium ...

如系统是32位则选择第4个,64位选择第5个。

选择错误会造成make php oci8的时候报兼容失败。

下面是64位系统的演示。

第一步:安装oracle

rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
 
rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
 
rpm -ivh oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

说明:oracle包版本要与oci8包版本兼容,php官网给出的参考文字是

Use the OCI8 extension to access Oracle Database. The extension can be
linked with Oracle client libraries from Oracle Database 10.2, 11, or
12.1. These libraries are found in the database installation, or in the free Oracle Instant Client available from Oracle. Oracle"s
standard cross-version connectivity applies. For example, PHP OCI8
linked with Instant Client 11.2 can connect to Oracle Database 9.2
onward. See Oracle"s note "Oracle Client / Server Interoperability
Support" (ID 207303.1) for details. PHP OCI8 2.0 can be built with PHP
5.2 onward. Use the older PHP OCI8 1.4.10 when using PHP 4.3.9 through to PHP 5.1.x, or when only Oracle Database 9.2 client libraries are
available.

官网的意思是在安装oci8的时候要保证 oracle扩展+oci8+php版本 要达成一致,否则就会出问题。 - - 英文不好大概就这个意思吧。

第二步:下载php oci扩展

安装oci8扩展 下载地址:http://pecl.php.net/package/oci8

我的php版本是5.5.4的依照官网的描述我选择的是 oci8-2.0.0.tgz 包.

tar zxvf oci8-2.0.0.tgz
 
cd oci8-2.0.0.tgz
 
/usr/bin/phpize
 
./configure --with-php-config=/usr/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib
 
make
 
make install

说明:

1.oci8-2.0.0.tgz这个是多带带的扩展包,也可以下载完整的php安装包,如php-5.5.28.tar.gz,解压后,cd到ext目录下的oci8目录即可。

2.phpize和php-config都不一定在上面的路径中,因为安装lamp环境的方法每个人不尽相同,可以用which命令查找,如which phpize。

3.关键点是要保证phpize,php-config,以及oracle的安装路径要正确

第三步:配置 php.ini

其实大部分时候是不需要第三步的,系统会默认把扩展加上

可以用find命令找到这个文件,找到类似extension = ""的配置项,加一行extension = "oci8.so" 说明:经过第二步的make,makeinstall后会生成一个oci8.so文件,可以用find命令查找一下路径,extentsion="oci8.so"要结合extention_dir="/usr/lib/php/modules" 这个配置项来看,这两句的意思就是在/usr/lib/php/modules下找oci8.so扩展,换句话说就是如果你的oci8扩展不是生成在/usr/lib/php/modules目录下,那么你就要改动extention_dir以确保oci8.so的路径是正确的

上面步骤完成后,重启代理服务。PHPINFO() 查看下。是不是已经成功了?!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23325.html

相关文章

  • Mac OS X 10.9编译OCI8模块

    摘要:无论是还是图形库,都是以动态链接库的形式发布的。但是那里写的很啰嗦,居然还要安装,那里倒是找到了一篇关于动态链接库模块编译的东西。 本文为笔者以前的记录,虽然是10.9的版本,但是应该也是能在10.10上完美成功 最近要做图书馆查询服务的转换php,上次写oracle中间层的时候因为没有oci8模块和oracle实例,所以手工写代码没有调试,这次工作量有些庞大,所以花费了一些...

    tianhang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<