透過SSH 連線到遠端MySQL 伺服器需要在本地之間建立安全隧道機和MySQL 資料庫伺服器。本指南概述了使用 PHP 設定 SSH 隧道和連接到資料庫所涉及的步驟。
錯誤「mysqli_connect() 期望參數6 為字串,給定資源」當mysqli_connect() 的第六個參數不是表示MySQL 隧道的字串時,就會發生這種情況。若要解決此問題,請將第六個參數變更為ssh2_tunnel 函數的輸出,如下所示:
透過下列方式連接至MySQL 伺服器的建議解決方案SSH是建立SSH隧道。以下是設定隧道的兩個選項:
使用提供內建 SSH 隧道支援的 GUI MySQL 用戶端,例如 Visual Studio Code 或 TablePlus。
使用下列指令設定本機連接埠轉送:
建立隧道後,透過PHP 腳本中的本機連接埠(3307) 連線到MySQL 伺服器:
透過Jumpbox 伺服器建立隧道以防止將資料庫伺服器直接暴露到網路至關重要。此外,請考慮使用 SSH 金鑰驗證取代密碼驗證以增強安全性。
以上是如何在 PHP 中透過 SSH 連接到 MySQL 伺服器:故障排除和最佳實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!