我必须将系统从php5.6
升级到php7.2
。系统使用oracle 10.1
数据库。
现在我尝试收集所有信息,但仍对php
,oci8
,instant client
与数据库之间的兼容性感到困惑。
我读过,使用php7,我必须至少安装oci8 2.1
,但这不适用于oracle 10.1
。
这是对的吗?
或者是否可以使用oracle php7
运行10.1
?
请赐教:)
答案 0 :(得分:0)
我读过,用php7我至少要安装oci8 2.1,但这不适用于oracle 10.1。
这是对的吗?
没有。来自manual:
OCI8 2.0需要Oracle 12c,11g或10g客户端库,并将在PHP 5.2及更高版本上安装。
请注意,您使用的Oracle客户端版本不需要与服务器版本匹配。从同一手册页(为了便于阅读而重新格式化为项目符号):
- 如果OCI8使用9iR2客户端库,那么PHP可以连接到Oracle Database 8i,9iR2,10g或11g。
- 如果OCI8使用10gR2客户端库,则数据库可以是9iR2,10g,11g或12c。
- 如果OCI8使用11g客户端库,则数据库可以是9iR2,10g,11g或12c。
- 如果OCI8使用12c客户端库,则数据库可以是10gR2,11g或12c。
因此,只有最后一个场景(12c客户端库)需要大于10.1的数据库版本。
无论手册说什么,我强烈建议您构建一个测试实例,看看是否有任何问题。
修改强> 来自OCI8 package PECL page的更多信息:
Oracle的标准跨版本连接适用。例如, 与Instant Client 11.2链接的PHP OCI8可以连接到Oracle 数据库9.2以后。请参阅Oracle的说明“Oracle Client / Server “互操作性支持”(ID 207303.1)了解详情。