如何解決在 PHP 中透過 SSH 連接到 MySQL 時出現的「mysqli_connect() 期望參數 6 為字串,給定資源」錯誤?

Patricia Arquette
發布: 2024-10-21 22:32:02
原創
482 人瀏覽過

How to Resolve

在PHP 中透過SSH 連接到MySQL 伺服器

問題:

您在使用SSH 連接到資料庫時遇到錯誤,且ssh2 庫。具體來說,錯誤是「mysqli_connect() 期望參數6 為字串,給定資源。」

問題說明:

上述錯誤訊息表明您向mysqli_connect 函數的第六個參數參數。

解決方案:

要解決此問題,請傳遞字串而不是資源作為第六個參數。在您的情況下,此參數應為 SSH 隧道套接字的路徑。

SSH 隧道設定:

要透過SSH 連接到MySQL 伺服器,您需要設定使用下列步驟建立SSH 隧道:

1. SSH 隧道指令:

ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
登入後複製
  • '-f':在後台執行
  • '-N' :不執行遠端指令
  • '-N' :不執行遠端指令
  • '-N'
  • :不執行遠端指令
  • '-L'
  • :啟用本機連接埠轉送
  • '3307'
  • :電腦上的本機連接埠
  • '10.3.1.55'
  • :遠端MySQL伺服器位址
  • '3306'
:遠端MySQL伺服器連接埠

'[e protecSQL伺服器連接埠

'[e 電子郵件>:SSH 代理主機與使用者名稱
mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
登入後複製
  • 2. MySQL 用戶端連線:
  • 隧道建立後,您可以使用本機MySQL 用戶端連線到MySQL伺服器:
  • '- h':本地MySQL 伺服器位址
  • '-P':本機連接埠號碼

'-u':MySQL 使用者名稱

'-p'

:MySQL 密碼
<code class="php"><?php
$smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
mysql_select_db("db", $smysql); 
?></code>
登入後複製

3. PHP 連線:

最後,在PHP 應用程式中連接到MySQL 伺服器:安全注意事項:安全注意事項:為了增強為了安全起見,請使用堡壘主機(Jumpbox) 作為SSH 代理,而不是直接連接到MySQL 伺服器。

以上是如何解決在 PHP 中透過 SSH 連接到 MySQL 時出現的「mysqli_connect() 期望參數 6 為字串,給定資源」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板