首頁  >  文章  >  資料庫  >  為什麼我與遠端 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 支援有限。 有關 MySQLi 和 MySQLi 的更多詳細信息,請參閱 PHP 開發手冊帶 SSL 的 PDO_MYSQL。

以上是為什麼我與遠端 MySQL 伺服器的 PHP SSL 連線失敗,如何使用 MySQLi 或 PDO 修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn