gpt4 book ai didi

php - 在 PHP 中通过 SSL 连接到 AWS mysql?

转载 作者:行者123 更新时间:2023-11-28 23:13:47 25 4
gpt4 key购买 nike

我正在尝试使用 php 和 ssl 连接到(远程)AWS MYSQL 数据库。

  1. 我创建了一个数据库用户,可以从 php 和控制台连接它。

  2. 然后我修改了用户以在数据库中使用 SSL 和 “require ssl”

  3. 我仍然可以通过以下方式连接到控制台:mysql -h host -u username -p --ssl

但是在 php 中我得到一个错误 2002。

$con=mysqli_init();
mysqli_ssl_set($con,NULL,NULL,"cacert.pem",NULL,NULL);
$link = mysqli_real_connect($con, "host", "username", "password");

据我所知,ssl_set 参数与 AWS 数据库无关。 How to connect to Amazon RDS via SSL?

我认为这与 mysqli_ssl_set 方法有关,如果没有它,则会建立连接并且数据库拒绝访问,这是正确的行为。这可能是客户端的一些配置错误,但我不知道我应该检查什么。

错误是由 mysqli_real_connect 引发的,因为 mysqli_ssl_set 总是返回 true,就在它尝试连接之后会收到错误。

最佳答案

我注意到在我指定端口之前它对我不起作用。以下工作:

    $db = mysqli_init();
$db->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set(NULL, NULL, 'rds-combined-ca-bundle.pem', NULL, NULL);
$db->connect($host, $user, $pass, $db, 3306);

关于php - 在 PHP 中通过 SSL 连接到 AWS mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com