为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
MYYA 2022-07-02 15:28:08
我正在尝试使用 SSL 连接到 Phalcon Framework 3.2.4 中的数据库。得到错误:SQLSTATE[HY000] [1045] 用户'dev_user'@'XXX.XX.XX.XXX'的访问被拒绝(使用密码:YES)我的数据库/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()); }我参考了文档链接: https ://forum.phalcon.io/discussion/1221/connect-through-mysql-with-ssl 。但没有成功。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

最后,自己找到了一个解决方案,不知道如何工作。

我认为来自 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 连接的人。


查看完整回答
反对 回复 2022-07-02
  • 1 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信