简体   繁体   中英

Secure Propel connection, remote MySQL

Is it possible to configure Propel to use SSL connection with remote MySQL server?

I found the same question with Doctrine, but it isn't answered either: How to connect to MySQL using SSL on symfony/doctrine

Here's an example for the runtime config file:

$serviceContainer = Propel::getServiceContainer();
$serviceContainer->setAdapterClass($db_name, 'mysql');
$manager = new ConnectionManagerSingle();
$manager->setConfiguration(array(
    'dsn' => 'mysql:host=' . $db_host . ';dbname=' . $db_name,
    'user' => $db_username,
    'password' => $db_password,
    'options' => [
        PDO::MYSQL_ATTR_SSL_KEY => '/etc/mysql/client-key.pem',
        PDO::MYSQL_ATTR_SSL_CERT => '/etc/mysql/client-cert.pem',
        PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/ca-cert.pem']
));
$serviceContainer->setConnectionManager('mydb', $manager);

And here's an example for the propel config file:

propel:
    database:
        connections:
            devServer:
                adapter: mysql
                classname: Propel\Runtime\Connection\DebugPDO
                dsn: mysql:host=myhost;dbname=mydb
                user: jomedia
                password: mypassword
                options:
                     1010 : /etc/mysql-certs/client-key.pem
                     1011 : /etc/mysql-certs/client-cert.pem
                     1012 : /etc/mysql-certs/ca-cert.pem

您可以使用连接选项来设置PDO SSL属性

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM