Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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 如何使用SSL连接到Phalcon Framework 3.2.4中的数据库_Php_Phalcon Routing_Phalcon Orm_Phalcon - Fatal编程技术网

Php 如何使用SSL连接到Phalcon Framework 3.2.4中的数据库

Php 如何使用SSL连接到Phalcon Framework 3.2.4中的数据库,php,phalcon-routing,phalcon-orm,phalcon,Php,Phalcon Routing,Phalcon Orm,Phalcon,我正在尝试使用SSL连接到Phalcon Framework 3.2.4中的数据库。 获取错误: 用户'dev_user'@'XXX.XX.XX.XXX'的SQLSTATE[HY000][1045]访问被拒绝(使用密码:是) My database/config.php: return new \Phalcon\Config(array( 'database' => array( 'adapter' => 'Mysql', 'host'

我正在尝试使用SSL连接到Phalcon Framework 3.2.4中的数据库。 获取错误:

用户'dev_user'@'XXX.XX.XX.XXX'的SQLSTATE[HY000][1045]访问被拒绝(使用密码:是)

My database/config.php:

return new \Phalcon\Config(array(

    'database' => array(
        'adapter' => 'Mysql',
        'host'     => 'xxx.rds.amazonaws.com',
        'username' => 'dev_user',
        'password' => 'XXXXX',
        'dbname'   => 'dev',
        'name'     => 'dev',
        'charset'  => 'utf8')
如何在Phalcon中使用SSL连接连接到数据库?它与凭据无关,因为我尝试了以下方法,并且成功了

mysqli_ssl_set($con,NULL,NULL,$pemlocation,NULL,'DHE-RSA-XXXX-SHA');

if (!mysqli_real_connect($con,$servername, $username, $password, 
 $dbname))
 {
   die("Connect Error: " . mysqli_connect_error());
 }
我参考了文档链接:
. 但是没有成功。

最后,我自己找到了一个解决方案,不知道如何工作。
我认为app/config/config中的数组值被传递到app/config/services.php

$di->set('db', function() use ($config) {
 $adapter = new \Phalcon\Db\Adapter\Pdo\Mysql(array(
    "host" => $config->database->host,
    "username" => $config->database->username,
    "password" => $config->database->password,
    "dbname" => $config->database->dbname,
    "charset" => $config->database->charset,
    "options" => [ PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING, PDO::MYSQL_ATTR_SSL_CA => "/home/ubuntu/YOUR_PEM_FILE_HERE"  ]

    ));
return $adapter;
});
它成功了。希望它能帮助其他需要启用到RDS for MySQL的SSL连接的人