PHP.mk документација

ssh2_fetch_stream

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.ssh2-fetch-stream.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.ssh2-fetch-stream.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ssh2_fetch_stream

Референца за `function.ssh2-fetch-stream.php` со подобрена типографија и навигација.

function.ssh2-fetch-stream.php

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_streamFetch an extended data stream

= NULL

ssh2_fetch_stream(resource $channel, int $streamid): resource

Преземи проширен поток на податоци SSH2_STREAM_STDERR Презема алтернативен подток поврзан со SSH2 канал поток. SSH2 протоколот моментално дефинира само еден подток, STDERR, кој има ID на подток

Параметри

channel
streamid
(дефинирано како 1).

Вратени вредности

SSH2 канал поток.

Примери

Враќа бараниот ресурс на потокот.

<?php
$connection
= ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');

$stdio_stream = ssh2_shell($connection);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Види Исто така

  • ssh2_shell() Пример #1 Отворање на школка и преземање на stderr поток поврзан со неа
  • ssh2_exec() Пример #1 Барање интерактивна школка
  • ssh2_connect() - Барај интерактивна школка

Белешки од корисници 4 белешки

- Поврзи се на SSH сервер
пред 5 години
In addition to the last post (13 years ago) from Dennis K. I corrected two typos (constant SSH2_STREAM_STDIO was misspellt) and removed (too many) brackets - this code works:

<?php
      $stdout_stream = ssh2_exec($connection, "lsssss -la");

      $sio_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDIO);
      $err_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR);
      
      stream_set_blocking($sio_stream, true);
      stream_set_blocking($err_stream, true);
      
      $result_dio = stream_get_contents($sio_stream);
      $result_err = stream_get_contents($err_stream);

      echo 'stderr: ' . $result_err;
      echo 'stdio : ' . $result_dio;
?>
ingo at baab dot de
19 години пред
In addition to the last post from Ricardo Striquer:

Simple block the stream with stream_set_blocking(), and you dont have to sleep() the script...

<?php
stdout_stream = ssh2_exec($connection, "/bin/lssss -la /tmp");

$err_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR);

$dio_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDDIO);

stream_set_blocking($err_stream, true);
stream_set_blocking($dio_stream, true);

$result_err = stream_get_contents($err_stream));
$result_dio = stream_get_contents($dio_stream));
?>
Рикардо Стрикер (ricardophp yohoocombr)
19 години пред
I got a friend using those functions and he was not able to use this ssh2_fetch_stream function. First of all I got the ssh2_shell sample by webmaster at spectreanime dot com, but this function does not work with his sample, i believe thats because he use fwrite instead of ssh2_shell or ssh2_exec to run the command.

This sample below is to run under a command line and is fully functional. note that i add the sleep as advised by webmaster at spectreanime dot com

<?php
echo "Connexion SSH ";
if (!($connection=@ssh2_connect("69.69.69.69", 22))) {
   echo "[FAILED]\n";
   exit(1);
}
echo "[OK]\nAuthentification ";

if (!@ssh2_auth_password($connection,"root","YourPassword")) {
   echo "[FAILED]\n";
   exit(1);
}
echo "[OK]\n";

$stdout_stream = ssh2_exec($connection, "/bin/lssss -la /tmp");
sleep(1);
$stderr_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR);

echo "Erros encontrados!\n------------\n";
while($line = fgets($stderr_stream)) { flush(); echo $line."\n"; }
echo "------------\n";

while($line = fgets($stdout_stream)) { flush(); echo $line."\n";}

fclose($stdout_stream);
?>
hexer
пред 17 години
I successfully used fgets in PHP4

examples

<?php
$stderr = fgets(ssh2_fetch_stream($channel, SSH2_STREAM_STDERR), 8192);

$str = fgets(ssh2_fetch_stream($channel, SSH2_STREAM_STDIO), 8192);
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.