Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将PDO::MYSQL\u ATTR\u SSL\u CA与ORM一起使用_Php_Ssl Certificate_Propel2 - Fatal编程技术网

Php 将PDO::MYSQL\u ATTR\u SSL\u CA与ORM一起使用

Php 将PDO::MYSQL\u ATTR\u SSL\u CA与ORM一起使用,php,ssl-certificate,propel2,Php,Ssl Certificate,Propel2,我正试图用spreep命令对数据库进行反向工程。我尝试连接到的数据库需要SSL证书,这是我在应用程序中连接到它的方式: new PDO( 'mysql:host=localhost;dbname=blog', 'root', '', array(PDO::MYSQL_ATTR_SSL_CA => '/path/ssl-cert.crt' ); 我的推进配置文件: propel: database: connections: blog:

我正试图用spreep命令对数据库进行反向工程。我尝试连接到的数据库需要SSL证书,这是我在应用程序中连接到它的方式:

new PDO(
    'mysql:host=localhost;dbname=blog',
    'root', '', array(PDO::MYSQL_ATTR_SSL_CA => '/path/ssl-cert.crt'
);
我的推进配置文件:

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" 

我读了这篇文章:,这是到旧版本的推进的第一个答案链接,我还尝试了另一个答案,用它的整数值替换了
PDO::MYSQL\u ATTR\u SSL\u CA
。什么都没用,以前有人有过这个问题吗?我缺少什么?

目前似乎只支持
ATTR\u PERSISTENT
选项:

应该很容易用叉子叉起来,然后用如下东西修补:

->arrayNode('options')
    ->children()
        ->booleanNode('ATTR_PERSISTENT')->defaultFalse()->end()
        ->scalarNode('PDO::MYSQL_ATTR_SSL_CA')->end()
    ->end()
->end()

我建议直接将这个标量节点添加到您的
供应商/spreep/spreep/src/spreep/Common/Config/PropelConfiguration.php
中,并检查是否有任何隐藏的bug或缺少的功能。

谢谢。因为在推进中似乎缺少了更多的选项,所以我可能会选择自定义解决方案。然而,您的答案为解决方案提供了一个很好的指针。