Zend_Db: SSH tüneli üzerinden MySQL veritabanına bağlanmak için nasıl?

2 Cevap php

Nasıl PHP ve Zend Framework kullanarak bir SSH tüneli gerektiren bir MySQL veritabanına bağlanabilir?

2 Cevap

Sadece SSH tüneli kurmak ve MySQL bağlantı noktası olarak yerel bağlantı noktasını kullanın.

Örneğin, bu gibi tüneli başlar,

ssh -f user@mysql-server.com -L 3306:mysql-server.com:3306 -N

Ve böyle MySQL bağlanabilir,

$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');

Zend_Db'nin için, bunu,

$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);

O gerektiğinde sunucudan bağlanır ve sonraki çağrılar gelir durumunda bir süre açık kalır böylece birinde apache2 config ya da Zend ile sürekli bir bağlantı oluşturmak için bu kadar ayarlamak için herhangi bir yolu var mı?