【发布时间】:2016-05-28 03:02:53
【问题描述】:
我想使用 PHP 连接到需要端口转发的 Oracle 数据库。 这是设置。 目前我使用 PuTTy 连接到 Oracle Db。我在那里喂
主机ip:172.XX.XX.111 端口:22
隧道设置 源端口:L19005
目的地:172.XX.XX.40:1521
输入用户名/密码后,我可以连接需要TNS配置的sqldeveloper。
现在我想使用 PHP 执行相同的活动。这是我到目前为止所做的事情
set_include_path(get_include_path().'\phpseclib');
include('Net/SSH2.php');
$ssh = new Net_SSH2('172.XX.XX.111');
if (!$ssh->login('userid', 'password')) {
exit('Login Failed');
}
$ssh->write("ssh -L19005:172.XX.XX.40:1521 172.XX.XX.111\n");
$ssh->write("password\n");
$connect='(DESCRIPTION=(ADDRESS= (PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=19005))(CONNECT_DATA = (SID = connect)))';
$conn = oci_connect('Db_username', 'Db_password', $connect);
if ($conn)
{echo 'True';}
我也使用了 ssh2_connect 功能。
$connection = ssh2_connect('172.XX.XX.111', 22);
if (ssh2_auth_password($connection, 'userid', 'password'))
{
echo 'true';
}
ssh2_exec($connection,"ssh -L19005:172.XX.XX.40:1521 172.XX.XX.111","\n");
ssh2_exec($connection,"password","\n");
$connect='(DESCRIPTION=(ADDRESS= (PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=19005))(CONNECT_DATA = (SID = connect)))';
$conn = oci_connect('Db_username', 'Db_password', $connect);
if ($conn)
{echo 'True';}
在这两种情况下,我都会收到以下错误。
oci_connect(): ORA-12541: TNS:no listener in C:\xampp\htdocs\USAGE\index.php
我正在使用 XAMPP3.2.2 和 PHP5.5。
请帮忙。我进行了很多搜索,但找不到与我的问题相关的任何内容。
【问题讨论】:
标签: php oracle ssh xampp phpseclib