PHP ORACLE 之 "团队合作"
由于公司的业务需要, 开发数据分析系统。
使用的技术为EXTJS负责前端的开发, PHP完成业务逻辑的实现,ORACLE数据库来实现数据的持久化存储。在搭建测试环境的过程中,为了让PHP和ORACLE成为伙伴费了不是力气。究其原因主要是Oracle客户端的版本和php的OCI接口匹配的问题。
总结下整个环境的版本:
PHP 5.2.6
Apache/2.2.8 (Win32)
Oracle 客户端工具包版本:10.1.0
oci8:
其中安装完成后, 通过phpinfo函数应该可以得到如下的PHP OCI PDO配置信息:
OCI8 Support
enabled
Version
1.2.5
Revision
$Revision: 1.269.2.16.2.43 $
Active Persistent Connections
0
Active Connections
0
Temporary Lob support
enabled
Collections support
enabled
PDO_OCI
PDO Driver for OCI 8 and later
enabled
PHP需要的支持ORACLE的扩展(WINDOWS), 以PDO的方式连接数据库。
php_OCI8, PHP_PDO, PHP_PDO_OCI
附:PHP Data Objects(PDO)
PDO扩展定义了一个轻量级的、一致性接口,用来支持PHP中的数据库访问操作。实现了PDO接口的database driver可以充分体现其数据库本身的特色,如正则表达式等。注意,你不能够使用PDO本身对任何数据库进行操作,你必须使用database- specific PDO driver来访问数据库服务器。PDO提供了一个数据访问抽象层(data-access layer), 这就是说,不管你使用的是什么样的数据库,通过该抽象层,你可以使用统一的方式来发布查询请求,以及获取数据。
PDO从PHP 5.1开始被支持, 它同样以PECL扩展的方式来支持PHP 5.0。使用PDO的必要条件是要支持PHP 5的核心OO特色,这是为什么在早期的PHP版本,不能使用PDO。