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

And*_*rew 5 php mysql ssh zend-framework

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

ZZ *_*der 9

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

例如,你这样启动隧道,

ssh -f user@mysql-server.com -L 3306:mysql-server.com:3306 -N
Run Code Online (Sandbox Code Playgroud)

你可以像这样连接到MySQL,

$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
Run Code Online (Sandbox Code Playgroud)

对于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);
Run Code Online (Sandbox Code Playgroud)