To help someone avoid the headaches I did for a week. SSH2 functions have problems with the ssh2-beta & libssh2-0.18 even after patching with said patches on the internet.
ssh_exec will work fine
ssh2_shell will not work
In order to use ssh2_shell I had to roll back to libssh2-0.14 in order to get ssh2_shell function to work properly
Установка
Windows binaries may be found at » http://snaps.php.net/. 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 web server.
extension_dir=c:/php5/exts/ extension=php_ssh2.dll
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 extension_dir.
- Add extension=ssh2.so to your php.ini
- Restart your web server to reload your php.ini settings.
Замечание: Development Versions
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 » PECL. 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.
Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: » http://pecl.php.net/package/ssh2.
Замечание: You will need version 0.4 or greater of the libssh2 library (possibly higher, see release notes).
Установка
11-Sep-2008 12:28
10-Sep-2008 11:56
Just a little note: when compiling this package after modifying the ssh2.c, do not use pecl build as it will not create an ssh2.so file (although it says it succeeded), use:
phpize
./configure --with-ssh2
make
you then need to copy the ssh2.so file into your extension dir if it didn't do so already.
08-May-2008 07:33
LIBSSH2_APINO was removed from the public header file. You need to patch ssh2.c to work with new libssh2 versions.
ssh2.c patch:
LINE 480:
search and change following line:
#if LIBSSH2_APINO < 200412301450
...
#else
to:
#if (defined(LIBSSH2_APINO) && LIBSSH2_APINO < 200412301450)
...
#else /* if LIBSSH2_APINO is not defined its v0.14 or higher. no problem! */
LINE 1216:
search and change following line:
#if (LIBSSH2_APINO > 200503221619)
to:
#if (defined(LIBSSH2_APINO) && (LIBSSH2_APINO > 200503221619)) || (defined(LIBSSH2_VERSION_NUM) && LIBSSH2_VERSION_NUM >= 0x001000)
Compile again!
----
Volkan K.
