问题
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
回答1:
You can use the connection options to set PDO SSL attributes.
回答2:
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
来源:https://stackoverflow.com/questions/17122558/secure-propel-connection-remote-mysql