2017-09-13 168 views
0

如何使自毀破壞SSH隧道訪問另一臺服務器上的MySQL?PHP - SSH隧道到MySQL

目前我的代碼看起來像:

exec('ssh -fNg -L 4343:127.0.0.1:3306 [email protected]'); 

$mysqli = new mysqli('127.0.0.1', 'dbuser', 'dbpass', 'dbname', '4343'); 

這裏的問題作出exec命令後,該腳本掛起。 我應該如何執行腳本的其餘部分,以及腳本完成後如何關閉後臺進程?

+0

嘗試'shell_exec'了shell_exec返回所有的輸出流作爲一個字符串。 'exec' ***默認返回輸出的最後一行*** –

+0

這裏的問題是我不需要exec/shell_exec的任何輸出。想法是產生後臺進程,該進程可以保存SSH隧道並將其「移開」,以便執行php腳本。 – AltzeM

+0

嘗試類似'exec('ssh -fNg -L 4343:127.0.0.1:3306 [email protected]。&');' –

回答

0

因此經過一些研究 - 解決方案是在命令結束時添加> /dev/null 2>/dev/null &

完整的工作示例行:

exec('ssh -fNg -L 4343:127.0.0.1:3306 [email protected] > /dev/null 2>/dev/null &');