W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
ssh2:// — 安全外殼協(xié)議 2
ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// (PECL)
注意: 該封裝器默認(rèn)沒有激活為了使用 ssh2.*:// 封裝協(xié)議, 你必須安裝來自 ? PECL 的 ? SSH2 擴(kuò)展。
除了支持傳統(tǒng)的 URI 登錄信息,ssh2 封裝協(xié)議也支持通過 URL 的主機(jī)(host)部分來復(fù)用打開連接。
屬性 | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp |
---|---|---|---|---|---|
受 allow_url_fopen 影響 | Yes | Yes | Yes | Yes | Yes |
允許讀取 | Yes | Yes | Yes | Yes | Yes |
允許寫入 | Yes | Yes | Yes | Yes | No |
允許追加 | No | No | No | Yes(當(dāng)服務(wù)器支持的時(shí)候) | No |
允許同時(shí)讀和寫 | Yes | Yes | Yes | Yes | No |
支持 stat() | No | No | No | Yes | No |
支持 unlink() | No | No | No | Yes | No |
支持 rename() | No | No | No | Yes | No |
支持 mkdir() | No | No | No | Yes | No |
支持 rmdir() | No | No | No | Yes | No |
名稱 | 用法 | 默認(rèn) |
---|---|---|
session
|
重復(fù)使用預(yù)連接的 ssh2 資源 | |
sftp
|
重復(fù)使用預(yù)先分配的 sftp 資源 | |
methods
|
密鑰交換(key exchange)、主機(jī)密鑰(hostkey)、cipher、壓縮和 MAC 方法 | |
callbacks
|
||
username
|
以該用戶名連接 | |
password
|
使用的密碼來進(jìn)行密碼驗(yàn)證 | |
pubkey_file
|
用于驗(yàn)證的公鑰(public key)文件 | |
privkey_file
|
用于驗(yàn)證的私鑰(private key)文件 | |
env
|
需要設(shè)置的環(huán)境變量的關(guān)聯(lián)數(shù)組 | |
term
|
在分配一個(gè) pty 時(shí)請(qǐng)求的終端類型 | |
term_width
|
在分配一個(gè) pty 時(shí)請(qǐng)求的終端寬度 | |
term_height
|
在分配一個(gè) pty 時(shí)請(qǐng)求的終端寬度高度 | |
term_units
|
term_width 和 term_height 的單位 | SSH2_TERM_UNIT_CHARS
|
示例 #1 從一個(gè)活躍的連接中打開流
<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>
示例 #2 $session 變量必須保持可用!
為了使用 ssh2.*://$session 封裝協(xié)議, 必須保留 $session 資源變量。下面的代碼就不會(huì)有預(yù)期的效果:
<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$connection_string = "ssh2.sftp://$session/";
unset($session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>
unset() 會(huì)關(guān)閉 session,因?yàn)?nbsp;$connection_string 不保存對(duì) $session 變量的引用,只是源自它的字符串轉(zhuǎn)換。當(dāng)離開(像函數(shù))作用域隱性調(diào)用 unset() 時(shí),也會(huì)發(fā)生這種情況。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: