7

このコードを使用すると、通常、zend フレームワークを使用して mysql に接続できます。

resources.db.adapter = "Pdo_Mysql"
resources.db.params.host = "xx.xx.xx.xx"
resources.db.params.username = "test_user"
resources.db.params.password = "test_pass"
resources.db.params.dbname = "test_database"
resources.db.params.port="xxxx"

;parameters here for ssl connection??

私の中でController

  public function indexAction() {
        $config = new Zend_Config_Ini('/path/to/application.ini', 'development');
        $db = Zend_Db::factory($config->resources->db);
        $sql = 'SELECT * FROM test_table';
        $result = $db->fetchAll($sql);

        echo '<pre>';
        print_r($result);
    }

問題は、 sslを使用して mysql に接続したいということですが、その方法に関するドキュメントは見つかりませんでした。

次のようにssl接続を構成することにより、データベース管理者の助けを借りて、Navicatを使用してサーバーに接続することができました。 ここに画像の説明を入力

問題は、php を使用して接続する方法ですか?

4

4 に答える 4

3

次のようなドライバオプションを指定できるはずです。

;PDO::MYSQL_ATTR_SSL_KEY
resources.db.params.driver_options.1010 = "/path/to/client-key.pem"
;PDO::MYSQL_ATTR_SSL_CERT
resources.db.params.driver_options.1011 = "/path/to/client-cert.pem"
;PDO::MYSQL_ATTR_SSL_CA
resources.db.params.driver_options.1012 = "/path/to/ca-cert.pem"
于 2012-12-20T03:58:10.643 に答える
2

http://php.net/manual/en/ref.pdo-mysql.phpから:

SSLサポートは、適切なPDO_MySQL定数を使用して有効になります。これは、 »MySQL C API関数mysql_ssl_set()を呼び出すのと同じです。また、接続がすでに存在するため、SSLをPDO::setAttributeで有効にすることはできません。SSLを使用したMySQLへの接続に関するMySQLのドキュメントも参照してください。

参照:http://php.net/manual/en/ref.pdo-mysql.php#103501

これを正しく機能させるには、PHPのインストールにもopensslが必要です。

于 2012-12-19T17:59:28.270 に答える
2

SSLを介したZend Db(アダプター:Pdo_Mysql)の私の作業構成:

Array
(
    [host] => XX.XX.XX.XX
    [username] => nice-user
    [password] => ************
    [dbname] => database
    [driver_options] => Array
        (
            [1010] => /path/to/client-key.pem
            [1011] => /path/to/client-cert.pem
            [1012] => /path/to/ca-cert.pem
            [1013] => 
            [1014] => DHE-RSA-AES256-SHA
        )
)

また、アプリケーションが Web ベースであると想定している場合は、上記の証明書ファイルが Apache ユーザー (Debian では「www-data」) によって読み取り可能であることを確認してください。

于 2014-03-06T16:52:36.353 に答える
1

Zend に接続するには、application.ini を次のように設定します。

;PDO::MYSQL_ATTR_SSL_KEY = 1007
resources.db.params.driver_options.1007 = "/path/to/client-key.pem"
;PDO::MYSQL_ATTR_SSL_CERT = 1008
resources.db.params.driver_options.1008 = "/path/to/client-cert.pem"
;PDO::MYSQL_ATTR_SSL_CA = 1009
resources.db.params.driver_options.1009 = "/path/to/ca-cert.pem"
于 2014-12-24T14:44:08.393 に答える