Bindings to the libssh2 library which
provide access to resources (shell, remote exec, tunneling, file transfer)
on a remote machine using a secure cryptographic transport.
Windows binaries may be found at
To install, download php_ssh2.dll to the folder specified
by your php.ini file's extension_dir directive.
Enable it by adding extension=php_ssh2.dll
to your php.ini and restarting your webserver.
Linux, BSD, and other *nix variants
can be compiled using the following steps:
Download and install OpenSSL.
If you install OpenSSL via your distribution's packaging system
be sure to install the development libraries as well.
This will typically be a package named openssl_dev,
openssl_devel, or some variation thereof.
Download and install libssh2.
Typically this means executing the following command from
the libssh2 source tree. configure && make all install.
Run the pear installer for PECL/ssh2: pear install ssh2
Copy ssh2.so from the directory indicated by the
build process to the location specified in your php.ini file under
Add extension=ssh2.so to your php.ini
Restart your webserver to reload your php.ini settings.
There are currently no stable versions of PECL/ssh2,
to force installation of the beta version of PECL/ssh2
execute: pear install ssh2-beta
Compiling PECL/ssh2 without using the PEAR command:
Rather than using pear install ssh2 to automatically
download and install PECL/ssh2, you may download the tarball from
From the root of the unpacked tarball, run:
phpize && configure --with_ssh2 && make
to generate ssh2.so.
Once built, continue the installation from step 4 above.
Information for installing this PECL extension may be
found in the manual chapter titled Installation
of PECL extensions. Additional information such as new releases,
downloads, source files, maintainer information, and a CHANGELOG, can be
You will need version 0.4 or greater of the libssh2 library
(possibly higher, see release notes).