如何使用PHP通过SSH连接到远程托管的Firebird数据库

时间:2017-10-27 07:08:56

标签: php ssh firebird

我需要创建一个PHP脚本,通过SSH隧道连接到远程主机,连接到Firebird数据库并访问一些数据。 我环顾四周,我设法正确连接SSH和隧道,但我不知道如何正确连接到Firebird。

这是我现在使用的代码:

$connection = ssh2_connect('hostname', 22);

if (!$connection)
    die('No connection...');
else
    echo 'Connection ok! ';

if (ssh2_auth_password($connection, 'username', 'password'))
    echo "Authentication Successful! ";
else
    die('Authentication Failed...');

$sshTunnel = ssh2_tunnel($connection, '127.0.0.1', 3050);
if ($sshTunnel)
    echo "Tunnel created! ";
else
    die("Tunnel failed...");

if ($dbh = ibase_connect('127.0.0.1/3050:D:\path\to\db\database.fdb', 'username', 'password'))
{
    echo 'Connected to the database!';
}else{
    echo 'Connection failed...';
}

隧道掘进一切顺利。我调用ibase_connect时PHP返回的错误是:

  

警告:ibase_connect():无法完成对主机的网络请求   " 127.0.0.1&#34 ;.无法建立连接。

我已经尝试使用Putty / ssh.exe / telnet做任何事情并没有遇到任何问题。 我知道mysqli_connect可以这样做:

mysqli_connect('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD', 'dbname', port, $tunnel);

我没有使用ibase_connect找到任何类似的文档。

0 个答案:

没有答案