使用 PHP 函數透過 SSH 建立與遠端 Linux 電腦上託管的 MySQL 資料庫的連接可能具有挑戰性。使用提供的程式碼時,可能會出現錯誤「mysqli_connect()期望參數6為字串,給定資源」。
程式碼嘗試使用mysqli_connect()函數來透過 SSH 隧道連接到資料庫。但是,mysqli_connect() 函數需要一個字串作為第六個參數(表示隧道),而 ssh2_tunnel() 函數傳回一個資源。
要解決解決此問題,請設定至 MySQL 資料庫伺服器的 SSH 隧道。一種有效的方法是使用 Jumpbox 代理來增強安全性。此方法涉及使用 SSH 用戶端建立本機連接埠轉送隧道,從而有效地在本機電腦和資料庫伺服器之間建立安全通道。
使用命令列工具(SSH 隧道設定):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
連接到資料庫:
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
其他注意事項:
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3