使用 PHP/oci8 连接到 Oracle Remote DB - 不确定如何使用侦听器


Using PHP/oci8 to Connect to Oracle Remote DB - Unsure how to use listener

我的项目的总体目标是连接到另一台服务器上的Oracle数据库,使用PHP查询它,以便我可以使用JavaScript创建数据图表。

我的伺服器匨落在 CentOS 上

到目前为止,我已经按照网络上的说明进行操作,并在我的服务器上安装了oci8以及Oracle Insant Client。

然后,我创建了一个 shell 脚本来通过隧道连接到远程服务器。

接下来,我创建了一个测试 php 文件来尝试连接到数据库

<?php
$conn = oci_connect('name', 'pw', 'servername/databasename');
if(!$conn){
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
oci_close($conn);
?>

当我在浏览器中加载它时,我收到以下错误

警告:oci_connect(): ORA-12541:TNS:第 3 行的/var/www/html/djc/ociConnect.php 中没有侦听器

致命错误:ORA-12541:TNS:第 6 行的/var/www/html/djc/ociConnect.php 中没有侦听器

我已经对错误进行了研究,我知道主要问题是 lsnrctl start

不起作用,我没有 lsnrctl 功能。我也没有 TNSNAMES。ORA,或听众。ORA 文件。

我不知道如何让 lsnrctl 在我的服务器上工作,或者我什至是否从正确的角度解决这个问题。

还尝试启动sqlplus(我从rpm安装),返回未找到命令。

有什么建议吗?我什至不确定我是否要在正确的庄园中实现我的目标,所以任何帮助都非常感谢。

我曾经连接过:

//Putenv("NLS_LANG=SPANISH_SPAIN.WE8ISO8859P15");
$db="(DESCRIPTION=
     (ADDRESS_LIST=
       (ADDRESS=(PROTOCOL=TCP)
         (HOST=$GLOBALS[dbhost])(PORT=$GLOBALS[dbport])
       )
     )
       (CONNECT_DATA=(SID=$GLOBALS[dbname]))
 )";
 $conn = OCILogon($GLOBALS['dbuser'],$GLOBALS['dbpasswd'],$db);

相应地替换$GLOBALS['dbuser']、$GLOBALS['dbpasswd']、$GLOBALS[dbhost]、$GLOBALS[dbname]$GLOBALS[dbport]。