Symfony2原则通过SSL连接到数据库

马特·韦兰德

尝试通过SSL连接到我的MySQL数据库,我已经使用以下命令行通过ssh从Web服务器成功建立了连接:

mysql -h my.host.here --port=5454  -v --ssl-ca=/etc/apache2/ssl/mysql/ca-cert.pem --ssl-cert=/etc/apache2/ssl/mysql/client-cert.pem --ssl-key=/etc/apache2/ssl/mysql/client-key.pem -u user -p

但是,尝试在symfony2和主义中建立相同的连接,我一直得到的只是一个“ SSL错误”

    $params = array(
        'driver'   => 'pdo_mysql',
        'user'     => 'user',
        'password' => 'pass',
        'host'     => 'my.host.here',
        'dbname'   => 'media',
        'port'     => '5454',
    );

    if($this->container->hasParameter('media_ca') && $this->container->hasParameter('media_cert') && $this->container->hasParameter('media_key')) {
        $params['driverOptions'] = array(
            PDO::MYSQL_ATTR_SSL_CA => $this->container->hasParameter('media_ca'),
            PDO::MYSQL_ATTR_SSL_CERT => $this->container->hasParameter('media_cert'),
            PDO::MYSQL_ATTR_SSL_KEY => $this->container->hasParameter('media_key'),
        );
    }

/* Using this instead with only the ca_cert gives me the same error
    if($this->container->hasParameter('media_ca')) {
        $params['driverOptions'] = array(
            PDO::MYSQL_ATTR_SSL_CA => $this->container->hasParameter('media_ca'),
        );
    }
*/
    $connectionFactory = $this->container->get('doctrine.dbal.connection_factory');
    $conn = $connectionFactory->createConnection($params);
    return $conn;

在我的日志中:

[2013-10-01 15:23:30] request.Critical:未捕获的PHP异常PDOException:/ var / www / mysite / vendor / doctrine / dbal / lib / Doctrine中的“ SQLSTATE [HY000] [2026] SSL连接错误” /DBAL/Driver/PDOConnection.php第36行{“ exception”:“ [object](PDOException:SQLSTATE [HY000] [2026] / var / www / mysite / vendor / doctrine / dbal / lib / Doctrine / DBAL / Driver / PDOConnection.php:36)“} []

我已仔细检查了Web服务器用户(www-data)是否有权访问证书文件,以及这些证书文件的路径是否正确(在symfony2参数中定义)。

我想不出命令行连接和使用doctrine / symfony2指定的连接之间的其他区别。

迈克尔·西沃洛波夫(Michael Sivolobov)

您在检索参数时错了。您需要getParameter($param)方法而不是hasParameter($param)这些行是正确的。

PDO::MYSQL_ATTR_SSL_CA => $this->container->getParameter('media_ca'),
PDO::MYSQL_ATTR_SSL_CERT => $this->container->getParameter('media_cert'),
PDO::MYSQL_ATTR_SSL_KEY => $this->container->getParameter('media_key'),

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Symfony2无法连接到远程数据库

来自分类Dev

Symfony2表单尝试在提交时连接到数据库

来自分类Dev

Symfony2表单尝试在提交时连接到数据库

来自分类Dev

IBM DB2 JDBC 通过 SSL 连接到编目数据库

来自分类Dev

symfony2使用理论的动态数据库连接

来自分类Dev

symfony2中的Oracle数据库错误(原则)。parameters.yml设置正确吗?

来自分类Dev

Symfony2:是否连接到其他数据库,是否没有所有其他功能?

来自分类Dev

Symfony2数据库配置

来自分类Dev

插入数据库symfony2

来自分类Dev

如何使用Python通过SSL连接到远程PostgreSQL数据库

来自分类Dev

如何使用Play Framework通过SSL连接到远程MySQL数据库?

来自分类Dev

如何使用Symfony2创建第二个数据库连接?

来自分类Dev

Symfony2多个数据库配置/连接和实体管理器

来自分类Dev

使用dplyr连接到SSL加密的远程数据库

来自分类Dev

水壶,JDBC,MySQL,SSL:无法连接到数据库

来自分类Dev

通过Symfony2同时使用两个数据库

来自分类Dev

通过pyodbc连接到Azure SQL数据库

来自分类Dev

使用RubyMine通过Vagrant连接到数据库

来自分类Dev

通过Java连接到远程数据库

来自分类Dev

通过SSH隧道连接到数据库

来自分类Dev

如何通过eclipse连接到mysql数据库

来自分类Dev

通过SSH连接到MySQL数据库

来自分类Dev

使用代理通过PDO连接到mysql数据库

来自分类Dev

通过Powershell连接到Azure SQL数据库

来自分类Dev

通过Python连接到UCCX数据库(Informix)

来自分类Dev

无法通过Excel VBA连接到SQL数据库

来自分类Dev

无法通过Docker连接到SQL Server数据库

来自分类Dev

无法通过JWS应用连接到MySQL数据库

来自分类Dev

通过Java连接到远程数据库

Related 相关文章

热门标签

归档