如何使用 SSL 连接到 Phalcon Framework 3.2.4 中的数据库
How to connect to database in Phalcon Framework 3.2.4 using SSL
我正在尝试使用 SSL 连接到 Phalcon Framework 3.2.4 中的数据库。
获取错误:
SQLSTATE[HY000] [1045] Access denied for user 'dev_user'@'XXX.XX.XX.XXX' (using password: YES)
我的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());
}
我参考了文档 link:
https://forum.phalcon.io/discussion/1221/connect-through-mysql-with-ssl。但是没有成功。
最后自己找到了解决方法,不知道效果如何。
我认为来自 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;
});
它奏效了。希望它能帮助其他需要为 MySQL.
启用到 RDS 的 SSL 连接的人
我正在尝试使用 SSL 连接到 Phalcon Framework 3.2.4 中的数据库。 获取错误:
SQLSTATE[HY000] [1045] Access denied for user 'dev_user'@'XXX.XX.XX.XXX' (using password: YES)
我的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());
}
我参考了文档 link: https://forum.phalcon.io/discussion/1221/connect-through-mysql-with-ssl。但是没有成功。
最后自己找到了解决方法,不知道效果如何。
我认为来自 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;
});
它奏效了。希望它能帮助其他需要为 MySQL.
启用到 RDS 的 SSL 连接的人