我想在wamp上安装php_ssh2扩展。 我做以下事情:
PHP启动:无法加载动态库php_ssh2
- 副本libssh2.dll到C:\ WINDOWS \ SysWOW64中
- 注册的dll文件:Regsvr32的libssh2.dll
- 副本php_ssh2.dll到C:\ WAMP \在php.ini
斌\ PHP \ php5.5.12 \分机
希望有人知道会帮忙!
在此先感谢
我想在wamp上安装php_ssh2扩展。 我做以下事情:
PHP启动:无法加载动态库php_ssh2
斌\ PHP \ php5.5.12 \分机
希望有人知道会帮忙!
在此先感谢
libssh2.dll并不需要这么做。
作为一个简单的经验法则,当使用WAMPServer时,不需要将任何东西放入C:\windows\....
文件夹。如果你是通过点击链接来摧毁切换Apache/PHP/MySQL版本的能力,那么这就是使用WAMPServer而不是其他类似产品的主要原因之一。
如何将SSH2 PHP扩展安装到WAMPServer。
下载SSH2扩展from here
对于WAMPServer您需要的TS(线程安全)版本 下载你想要把它安装到即PHP5.4或PHP5您WAMPServer即32位/ 64位和PHP的主要版本相匹配的线程安全版本.5等
如果您在64位Windows上运行32位WAMPServer,则应该使用32位(x86)版本的ssh2!
使用wampmanager,停止所有服务
wampmanager -> Stop all Services
提取从zip这2个文件(rememeber的SSH2文件是专门针对PHP的版本,所以一定要使用正确的zip文件)。
copy libssh2.dll to \wamp\bin\php\phpx.y.z\
copy php_ssh2.dll to \wamp\bin\php\phpx.y.z\ext
编辑的php.ini(使用wampmanager菜单)
wampmanager -> PHP -> php.ini
找到部分包含扩展参数和加入这一行
extension=php_ssh2.dll
如果使用的是WAMPServer 2.5。15或更高版本您可以跳过此下一步,因为它已被合并到WAMPServer刷新过程中。
如果您正在使用WAMPServer 2.5或以上版本:
编辑\ WAMP \脚本\ config.inc.php中 找到文件的这一部分,
$phpDllToCopy = array (
并添加此行到阵列,它可以去该列表中的任何地方
$phpDllToCopy = array (
'libssh2.dll',
启动所有再次服务
wampmanager -> Start all Services
看
wampmanager -> PHP -> PHP Extensions
您应该看到php_ssh2在列表旁边带有刻度。
现在您需要让WAMPManager将SYMLINKS重建到\ apachex.y.z \ bin文件夹中。因此,使用wampamanager菜单DO:
wampmanager -> Apache -> Version -> 2.4.9
(click on the version number, it may or may not be 2.4.9)
这应该几秒钟,然后你就可以测试SSH2被加载。
现在启动本地主机
wampmanager -> localhost
在主页上,你应该看到ssh2
在Loaded Services
列表中点击WAMPServer主页phpinfo()
链接,你应该看到以下信息证明SSH2已被加载
现在,如果您想在命令行(PHP CLI)中使用PHP中使用的SSH2,那么您需要做更多的事情。
编辑\ WAMP \ BIN \ PHP \ PHP版本{} \ php.ini中
找到包含扩展参数的部分,并添加此行
extension=php_ssh2.dll
你完成了。
感谢您的回答,我正在寻找php_info() - >“注册的PHP流”,我没有看到以下ssh2.shell,ssh2.exec,ssh2.tunnel,ssh2.scp,ssh2 .sftp,我看到只是PHP,文件,glob,数据,http,ftp,zip,compress.zlib,compress.bzip2,https,ftps,phar – 4EACH 2014-11-04 12:04:58
您是否已经取消了之前做过的所有工作?你有正确版本的'SSH2'与你的'PHP'版本匹配吗?你是否从C:\ Windows \ SysWOW64'中删除了'libssh2.dll并且未注册为服务? – RiggsFolly 2014-11-04 13:00:45
是的,主要问题是“调用未定义的函数ssh2_exec”,它在我看来是由错误的安装引起的。 – 4EACH 2014-11-04 14:47:06
libssh2是一个PITA。我只是用phpseclib的libssh2兼容层:
https://github.com/phpseclib/libssh2-compatibility-layer
例子:
<?php
include('phpseclib.php');
$ssh = ssh2_connect('www.domain.tld');
echo ssh2_fingerprint($ssh);
基本上,它只是使用phpseclib效仿所有ssh2_ *功能。
您使用32位还是64位WampServer? – RiggsFolly 2014-11-03 20:49:17
我正在使用64位WampServer – 4EACH 2014-11-04 07:41:49