PHP启动:无法加载动态库php_ssh2

时间:2014-11-03 16:03:04

标签: php dll ssh wamp wampserver

我正在尝试在wamp上安装php_ssh2扩展。 我做了以下事情:

  1. 将libssh2.dll复制到C:\ Windows \ SysWOW64
  2. 注册dll文件:Regsvr32 libssh2.dll
  3. 将php_ssh2.dll复制到C:\ wamp \ bin \ php \ php5.5.12 \ ext
  4. 在php.ini中添加扩展名
  5. 我收到了消息:

    enter image description here

    希望有人知道帮忙!
    提前致谢

2 个答案:

答案 0 :(得分:1)

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_ *函数。

答案 1 :(得分:0)

libssh2.dll不需要做任何事情。

使用WAMPServer时,作为一个简单的经验法则,不需要在C:\windows\....文件夹中放置任何内容。如果你这样做就会破坏点击链接来切换Apache / PHP / MySQL版本的能力,这是使用WAMPServer而不是其他类似产品的主要原因之一。

如何将SSH2 PHP扩展安装到WAMPServer。

下载SSH2扩展程序from here

  • 点击&#39; DLL&#39;在windows图标旁边进入windows build。

对于WAMPServer,您将需要TS(线程安全)版本 下载与您的WAMPServer匹配的线程安全版本,即32位/ 64位,以及要将其安装到PHP的主要版本,即PHP5.4或PHP5.5等。

如果你在64位Windows上运行32位WAMPServer,你应该使用32位(x86)版本的ssh2!

使用wampmanager,停止所有服务

wampmanager -> Stop all Services

从zip中提取这两个文件(记住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 \ scripts \ 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。

现在启动localhost

wampmanager -> localhost

在首页上,您应该会在ssh2

列表中看到Loaded Services

enter image description here

点击WAMPServer主页上的phpinfo()链接,您应该会看到以下信息,证明SSH2已加载

enter image description here

现在,如果您想在命令行(PHP CLI)中使用PHP中的SSH2,那么您还需要做一件事。

编辑\ wamp \ bin \ php \ php {version} \ php.ini

找到包含扩展参数的部分并添加此行

extension=php_ssh2.dll

你已经完成了。