在过去的几天里,我在PHP上安装SSH2连接时一直在苦思冥想。
我目前的设置是VC11非线程安全,我已经在PECL网站上下载了相应的zip文件夹: http : //windows.php.net/downloads/pecl/releases/ssh2/0.12/
确切的文件名为: php_ssh2-0.12-5.5-nts-vc11-x86.zip ,完全知道版本的差异我已经在下载文件之前加倍检查了一切,PHP如下:
编译器MSVC11(Visual C ++ 2012)
- PHP文件不能被nginx中的fastcgiparsing
- 200 OK空白页面设置恢复testing虚拟机上的WordPress
- 206以Content-Length:0返回的部分内容
- 在centOS 6.7上安装带有Apache 2.4.16的PHP 5.6.11安装Ioncube
- 我如何让Apache为不同的域使用不同的本地PHP.ini?
体系结构x86
PHPExtension Build API20121212,NTS,VC11
所以,正确的文件已被下载,我可以确认它们位于正确的目录(C:\ PHP \ ext)中,并且PHP.ini指向正确的文件夹。
现在,包含在这个压缩的存档是
执照
php_ssh2.dll
php_ssh2.pbd
这些已被放置在正确的文件夹,并存在。 这些扩展名正确地input到php.ini中,如下所示:
延长=中php_mbstring.dll
extension = php_exif.dll; 必须在mbstring之后,因为它依赖于它
延长=激活php_mysql.dll
延长= php_mysqli.dll
; extension = php_oci8.dll; 与Oracle 10gR2即时客户端一起使用
; extension = php_oci8_11g.dll; 使用Oracle 11gR2即时客户端
延长= php_openssl.dll
;延长= php_pdo_firebird.dll
延长= php_pdo_mysql.dll
延长= php_ssh2.dll
但是启动Microsoft IIS后出现的问题,function似乎是未定义的,所以我诉诸运行C:\ PHP \ php.exe,它返回以下错误:
Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_ssh2.dll' - The specified module could not be found. in Unknown on line 0
但在这个消息被显示之前..这是给我的:
The program can't start because the libssh2.dll is missing from your computer. Try reinstalling the program to fix this problem
在这个zip文件中没有提到的libssh2.dll,在这个扩展的旧版本中是明显的,我有一个来自C:\ WINDOWS \ SYSTEM32中的5.4文件的旧版本,并且注册了running:
C:> regsvr32 libssh2.dll
通过命令提示符。
虽然,在这个案例的问题的stackoverflow图书馆有很多问题/答案上提出了替代库,我正在寻求避免这些库和正确安装扩展。 任何可以给予的build议
这是一个迟到的答案。 最近,我遇到了这个问题与PHP 5.5。
另一个select是从这里得到一个php 5.4。*,而libssh2应该包含在zip文件中。 只需复制它,它应该兼容PHP 5.4和5.5。 不知道为什么它不包含在PHP 5.5中!