簡體   English   中英

使用SSH通過PHP連接到遠程MySQL數據庫

[英]Connect to remote MySQL database with PHP using SSH

我有一個遠程數據庫,我想從本地運行的PHP連接到。 數據庫不允許遠程連接,所以通常我通過SSH進入框並從命令行使用它,但這不是一個長期的解決方案。

我有SSH訪問權限,一旦我進入SSH,我就有MySQL訪問權限,但我不知道如何讓PHP進入該工作流程。 如果我能在MAMP內完成這項工作,那也很棒。

對於開發或測試,您可以使用ssh命令首先設置隧道,然后以本地數據庫的形式訪問遠程數據庫。 步驟是:

1)使用ssh命令設置隧道。 命令格式:ssh -L [本地端口]:127.0.0.1:[遠程mysql端口,默認為3306] [user] @ [remote mysql server ip]。 示例:ssh -L 3307:127.0.0.1:3306 ford@134.11.21.89

2)使命令窗口保持活動狀態

3)您可以通過mysql字符串訪問遠程數據庫:mysqli:// [user]:[password] @ 127.0.0.1:3307 / [數據庫名稱]

您可以設置SSH隧道,然后將您的php連接代碼指向通過隧道轉發的本地端口。 在Windows下你可以使用putty; 對於Mac,會有類似的解決方案。

如果這是用於開發,亞歷克斯建議的解決方案是要走的路; 建立一個ssh隧道。

隧道會將您的127.0.0.1:3306-請求重定向到遠程計算機。 遠程機器也將相信請求將來自127.0.0.1(本地)。

但是,如果您的服務器(共享主機?請指定)不允許來自127.0.0.1的mysql連接(通常只允許使用localhost),則可能會遇到問題。 這些之間存在細微差別,它會阻止您的隧道到達遠程mysqld。

只需谷歌隧道,設置它,並從您的PHP連接字符串使用127.0.0.1。

問候,

//Ť

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM