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 |