我正试图用Propel reverse
命令反向工程一个数据库。我试图连接到的数据库需要SSL证书,这是我在应用程序中连接到它的方式:
new PDO(
'mysql:host=localhost;dbname=blog',
'root', '', array(PDO::MYSQL_ATTR_SSL_CA => '/path/ssl-cert.crt'
);
我的Propel配置文件:
propel:
database:
connections:
blog:
adapter: mysql
classname: Propel\Runtime\Connection\ConnectionWrapper
dsn: "mysql:host=localhost;dbname=blog"
user: root
password:
options:
PDO::MYSQL_ATTR_SSL_CA: /path/ssl-cert.crt
我得到以下错误:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
Unrecognized option "PDO::MYSQL_ATTR_SSL_CA" under "propel.database.connections.gateway.options"
我读了这篇文章:安全推进连接,远程MySQL,这是一个旧版本的Propel的第一个答案链接,我也尝试了替代答案,用它的整数值代替PDO::MYSQL_ATTR_SSL_CA
。没有用过,以前有人有过这个问题吗?我遗漏了什么?
发布于 2015-11-24 18:11:43
目前似乎只支持ATTR_PERSISTENT
选项:PropelConfiguration
将其分叉并修补如下内容应该是相当容易的:
->arrayNode('options')
->children()
->booleanNode('ATTR_PERSISTENT')->defaultFalse()->end()
->scalarNode('PDO::MYSQL_ATTR_SSL_CA')->end()
->end()
->end()
我建议将这个标量节点直接添加到您的vendor/propel/propel/src/Propel/Common/Config/PropelConfiguration.php
中,并检查是否存在隐藏的bug或缺少的功能。
https://stackoverflow.com/questions/33836352
复制相似问题