2

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

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

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

那是对的吗?

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

请赐教:)

4

1 回答 1

1

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

那是对的吗?

不,从手册中:

OCI8 2.0 需要 Oracle 12c、11g 或 10g 客户端库,并将安装在 PHP 5.2 及更高版本上。

请注意,您使用的 Oracle 客户端版本不需要与服务器版本匹配。从同一手册页(为了便于阅读,重新格式化为要点):

  • 如果 OCI8 使用 9iR2 客户端库,那么 PHP 可以连接到 Oracle 数据库 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 包 PECL 页面的更多信息:

Oracle 的标准跨版本连接适用。例如,与 Instant Client 11.2 链接的 PHP OCI8 可以连接到 Oracle Database 9.2 以后。有关详细信息,请参见 Oracle 的说明“Oracle 客户端/服务器互操作性支持”(ID 207303.1)。

于 2018-06-11T10:49:58.083 回答