ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// PHP 4.3.0 and up (PECL)
Note: This wrapper is not enabled by default
In order to use the ssh2.*:// wrappers you must install the » SSH2 extension available from » PECL.
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.
Example #1 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');
?>
Attribute | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp |
---|---|---|---|---|---|
Restricted by allow_url_fopen | Yes | Yes | Yes | Yes | Yes |
Allows Reading | Yes | Yes | Yes | Yes | Yes |
Allows Writing | Yes | Yes | Yes | Yes | No |
Allows Appending | No | No | No | Yes (When supported by server) | No |
Allows Simultaneous Reading and Writing | Yes | Yes | Yes | Yes | No |
Supports stat() | No | No | No | Yes | No |
Supports unlink() | No | No | No | Yes | No |
Supports rename() | No | No | No | Yes | No |
Supports mkdir() | No | No | No | Yes | No |
Supports rmdir() | No | No | No | Yes | No |
Name | Usage | Default |
---|---|---|
session | Preconnected ssh2 resource to be reused | |
sftp | Preallocated sftp resource to be reused | |
methods | Key exchange, hostkey, cipher, compression, and MAC methods to use | |
callbacks | ||
username | Username to connect as | |
password | Password to use with password authentication | |
pubkey_file | Name of public key file to use for authentication | |
privkey_file | Name of private key file to use for authentication | |
env | Associate array of environment variables to set | |
term | Terminal emulation type to request when allocating a pty | |
term_width | Width of terminal requested when allocating a pty | |
term_height | Height of terminal requested when allocating a pty | |
term_units | Units to use with term_width and term_height | SSH2_TERM_UNIT_CHARS |