【发布时间】:2021-04-15 10:48:34
【问题描述】:
我需要一个带有 php 7.4 的 ubuntu 20.04 服务器来连接多个版本的 oracle 数据库。 我在 18.3 版中安装了 oracle Instantclient 并加载了 oci8 php 模块。 对于新版本的 oracle 数据库,这很好用。对于较旧的连接失败。
这些即时客户端版本已安装:
ii oracle-instantclient18.3-basic 18.3.0.0.0-4 amd64 Oracle Instant Client Basic package
ii oracle-instantclient18.3-devel 18.3.0.0.0-4 amd64 Development headers for Instant Client.
ii oracle-instantclient18.3-jdbc 18.3.0.0.0-4 amd64 Supplemental JDBC features for the Oracle Instant Client
ii oracle-instantclient18.3-odbc 18.3.0.0.0-4 amd64 Oracle Instant Client ODBC
这是php版本:
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS
基本上必须支持这个版本:
oracle db 9.2.0.6.0
oracle db 9-0.1.3.1
oracle db 11g 11.2.0.1.0
oracle db 12c 12.2.0.1.0
oracle db 19c 12.2.0.3
oracle db 19c 19.0.0.0.0
这是当前代码:
<?php
$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =<SERVERNAME>)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = <SRVNAME>)))";
if(!@($conn = oci_connect('<user>','<pass>',$dbstr)))
{
print_r(ocierror());
die("Connect Error");
}
?>
有可能吗?我需要一些提示如何实现这一点
【问题讨论】: