首页  >  文章  >  数据库  >  为什么我与远程 MySQL 服务器的 PHP SSL 连接失败,如何使用 MySQLi 或 PDO 修复它?

为什么我与远程 MySQL 服务器的 PHP SSL 连接失败,如何使用 MySQLi 或 PDO 修复它?

Susan Sarandon
Susan Sarandon原创
2024-11-21 06:10:10469浏览

Why is my PHP SSL connection to a remote MySQL server failing, and how can I fix it using MySQLi or PDO?

从 PHP 使用 SSL 连接到远程 MySQL 服务器

无法通过 mysql_connect 连接

您在尝试连接时遇到“SSL 连接错误”使用 mysql_connect 通过 SSL 连接到远程 MySQL 服务器。在 my.cnf 添加必要的参数并从终端使用 -h ip -u user -p 成功连接到服务器后,就会出现此错误。

解决方案:切换到 MySQLi 或 PDO_MYSQL

过时的 mysql_connect 对 SSL 的支持有限。考虑切换到 mysqli_connect 或 PDO_MYSQL。

对于 mysqli_connect,请指定 SSL 选项,如下所示:

mysqli_options($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('/path/to/client-key.pem', '/path/to/client-cert.pem', '/path/to/ca-cert.pem');

对于 PDO_MYSQL,在连接数组中包含 SSL 选项:

PDO::MYSQL_ATTR_SSL_KEY => '/path/to/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => '/path/to/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => '/path/to/ca-cert.pem'

附加说明

  • 确保您有PHP 的最新版本,因为旧版本中对 PDO 的 SSL 支持受到限制。
  • 有关使用 SSL 的 MySQLi 和 PDO_MYSQL 的更多详细信息,请参阅 PHP 开发手册。

以上是为什么我与远程 MySQL 服务器的 PHP SSL 连接失败,如何使用 MySQLi 或 PDO 修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn