PHP.nl

ssh2://

ssh2://

Secure Shell 2

(PECL)

Opmerking: > ### This wrapper is not enabled by default

In order to use the  wrappers,
the

extension available from link.pecl must be installed.

SSH2

In addition to accepting traditional URI login details, the ssh2 wrappers will also reuse open connections by passing the connection resource in the host portion of the URL.

Voorbeeld: Opening a stream from an active connection

<?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');
?>

Voorbeeld: This variable must be kept available!

In order to use the  wrappers,
the  resource variable must be kept.
The code below will not have the desired effect:

$session

<?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() closes the session, because  does not
hold a reference to the  variable, just a string cast
derived from it. This also happens when the  is implicit
because of leaving scope (like in a function).

$connection_string``$session``unset