oci8,php7和Oracle 10.1的兼容性

时间:2018-06-11 06:46:42

标签: php oracle oracle10g oci8 instantclient

我必须将系统从php5.6升级到php7.2。系统使用oracle 10.1数据库。

现在我尝试收集所有信息,但仍对phpoci8instant client与数据库之间的兼容性感到困惑。

我读过,使用php7,我必须至少安装oci8 2.1,但这不适用于oracle 10.1

这是对的吗?

或者是否可以使用oracle php7运行10.1

请赐教:)

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)了解详情。