安装/配置
在线手册:中文 英文
PHP手册

安装

安装此 PECL 扩展相关的信息可在手册中标题为 PECL 扩展的安装 章节中找到。另外的信息,如新的发行版本、下载、源文件、 Additional information such as new releases,维护人员信息及变更日志等,都在此处: » http://pecl.php.net/package/ssh2.

PECL 扩展的 DLL 当前不可用。参见 在 Windows 上构建 章节。


安装/配置
在线手册:中文 英文
PHP手册
PHP手册 - N: 安装

用户评论:

imedina at grosshat dot com (09-Dec-2010 10:09)

Using PECL it must be specified the channel, since the beta version has to be choosen instead of stable one:

$ pecl install ssh2 channel://pecl.php.net/ssh2-version

adrya dot stembridge at gmail dot com (21-Nov-2008 04:01)

Installing ssh2:

1) Download and unpack tar.gz per instructions above.
2) Enter unpacked directory
3) vi patchfile, paste the following (except the ###) and save:

##########################################

--- ssh2.c.orig    2005-11-01 15:40:23.000000000 -0800
+++ ssh2.c    2007-10-05 11:29:50.000000000 -0700
@@ -477,7 +477,7 @@
 
     ZEND_FETCH_RESOURCE(session, LIBSSH2_SESSION*, &zsession, -1, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session);
 
-#if LIBSSH2_APINO < 200412301450
+#if LIBSSH2_VERSION_NUM < 0x001000
     libssh2_session_methods(session, &kex, &hostkey, &crypt_cs, &crypt_sc, &mac_cs, &mac_sc, &comp_cs, &comp_sc, &lang_cs, &lang_sc);
 #else
     kex = libssh2_session_methods(session, LIBSSH2_METHOD_KEX);

##########################################

4) run patch < patchfile
5) vi /etc/php.ini, add extension = ssh2.so where appropriate and save.
6) restart apache, use phpinfo() to confirm

chris at 3menandarecorder dot com (11-Sep-2008 08:28)

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

arie dot mail at gmail dot com (10-Sep-2008 07: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.

volkirik at yahoo dot com dot tr (08-May-2008 03: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.