最近我遇到了這個庫,它允許我通過ssh
連接到遠程機器。 。(這種情況下,假123.45.67.890
圖書館是 shukydvir在CodeIgniter控制器中建立SSH連接
我跟着overview
選項卡中的說明,但是,如下圖所示:
public function deploy_test()
{
$params = array(
'hostname' => "123.45.67.890",
'port' => 23,
'username' => "username",
'password' => "password"
);
if(!($con = $this->ssh->connect($params))) {
echo json_encode("fail: unable to establish connection\n");
}
else {
echo json_encode("helloworld");
}
}
,當我回來的網頁是:
fail: unable to establish connection
因此,厭倦了,我裝ssh2
庫,我重申我的服務器:
public function deploy_test() {
$connection = ssh2_connect("123.45.67.890", 23);
if(!$connection) {
echo json_encode('Connection failed');
}
ssh2_auth_password($connection, "username", "password");
$stream = ssh2_exec($connection, "ls -l");
stream_get_blocking($stream, true);
$output = "";
while($line = fgets($stream)) {
$output .= $line;
}
echo json_encode($line);
}
結果並不樂觀:
<p>Severity: Warning</p>
<p>Message: ssh2_connect(): Unable to connect to 123.45.67.890 on port 23</p>
<p>Filename: controllers/automation.php</p>
<p>Line Number: 70</p>
然而,當我從我的test.php
文件執行相同的腳本,我得到:
02/13/2013 10:41 PM .
02/13/2013 10:41 PM ..
02/13/2013 10:41 PM 952 FreeSSHd.lnk
1 File(s) 952 bytes
2 Dir(s) 55,343,263,744 bytes free
其他服務器已安裝freSSHD
,它的準備做連接。我已經盡力了。有人可以幫我嗎?
所以你說它的工作原理你的'test.php'文件,但不是從CodeIgniter控制器運行相同的代碼時? – 2013-03-06 03:48:43
@MattB。這正是我所說的......你能相信嗎? – cybertextron 2013-03-06 17:00:31
您可以創建一個只包含'deploy_test()'方法的新控制器,並且如果您使用的是自定義控制器基類,那麼它是否繼承自'CI_Controller'?然後將測試控制器的完整代碼發佈到gist.github.com或pastebin上。也許它會幫助我們隔離這個問題。 – 2013-03-06 17:05:34