我在这里遵循说明:PHP在Windows机器上安装SSH2。
请注意,我在工作,不能改变这个开发环境。
使用if (extension_loaded('ssh2'))
我可以看到扩展还没有加载。
我尝试从这里使用TS和NTS文件:http://windows.php.net/downloads/pecl/releases/ssh2/0.12/for
PHP 5.3
(我是5.3.5版本)。我已经将
php_ssh2.dll
和php_ssh2.pdb
文件放在PHP
的正确ext文件夹中(我已经确认这是使用phpinfo()
命令的正确ext文件夹)。我已经添加了
extension=php_ssh2.dll
到php.ini文件,再次确保它是正确的ini文件使用phpinfo()
命令我已将
libsshl2.dll
添加到syswow64
和system32
文件夹当我尝试注册那些使用命令行提示失败,但我已经告诉我的其他问题,这是因为
libssh2.dll is not a COM server so cannot be registered
-我如何注册一个php dll与windows,如果它's 64位的windows,但32位的php和apache?我已尝试以管理员 的身份运行这些命令。Apache
已重启。错误日志中没有任何内容
请帮帮我,把我的头发都扯掉了
老实说,我认为你最好使用phpseclib。众所周知,Libssh2很难使用。它没有得到很好的维护,甚至没有phpseclib那样的功能包。关于phpseclib相对于libssh2的优势的更多信息:
http://phpseclib.sourceforge.net/ssh/compare.html的例子:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>
看看这个答案。似乎对于php的每个版本,您都将拥有完全相同的ssh2版本。你不能运行ssh2 dll,如果它不是用那个php版本构建的
所以检查版本,注意有两个下载链接,32或64。https://stackoverflow.com/a/16480426