Php Zend_Db:如何通过SSH隧道连接到MySQL数据库?

Php Zend_Db:如何通过SSH隧道连接到MySQL数据库?,php,mysql,zend-framework,ssh,Php,Mysql,Zend Framework,Ssh,如何使用PHP和Zend Framework连接到需要SSH隧道的MySQL数据库?只需启动SSH隧道并使用本地端口作为MySQL端口 例如,您从下面开始隧道 ssh -f user@mysql-server.com -L 3306:mysql-server.com:3306 -N 你可以像这样连接到MySQL $conn = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 对于zend_db,您可以这样做 $confi

如何使用PHP和Zend Framework连接到需要SSH隧道的MySQL数据库?

只需启动SSH隧道并使用本地端口作为MySQL端口

例如,您从下面开始隧道

ssh -f user@mysql-server.com -L 3306:mysql-server.com:3306 -N
你可以像这样连接到MySQL

$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
对于zend_db,您可以这样做

$config = new Zend_Config(
    array(
        'database' => array(
            'adapter' => 'Mysqli',
            'params'  => array(
                'host'     => 'localhost',
                'dbname'   => 'my_db',
                'username' => 'mysql_user',
                'password' => 'mysql_password',
            )
        )
    )
);

$db = Zend_Db::factory($config->database);

有没有办法将此设置为在apache2配置中或通过Zend创建持久连接,以便在需要时从服务器进行连接,并在一段时间内保持打开状态,以防后续呼叫传入?

我收到一条“连接被拒绝”消息。它还说它在端口22上连接,这没有意义,因为我指定了两个端口…你知道为什么这对我不起作用吗?错误意味着服务器上没有运行SSH。这与MySQL无关。啊,原来这是我通过ssh连接的方式的问题。