Установка SSH2 на Windows Server с использованием PHP5.5 VC11NTS

Последние несколько дней я ломал голову над установкой SSH2-соединения на PHP.

Моя текущая настройка - VC11, не ориентированная на многопотоковое исполнение. Я загрузил соответствующие zip-папки на веб-сайте PECL: 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)

Архитектура x86

PHPExtension Build API20121212, NTS, VC11

Итак, правильные файлы были загружены, я могу подтвердить, что они находятся в правильном каталоге (C:\PHP\ext), а PHP.ini указывает на правильную папку.

Теперь в этот сжатый архив входит

ЛИЦЕНЗИЯ

php_ssh2.dll

php_ssh2.pbd

Они были помещены в правильную папку и существуют. Расширения правильно вводятся в php.ini, который выглядит следующим образом:

расширение = php_mbstring.dll

extension = php_exif.dll; Должно быть после mbstring, так как это зависит от него

расширение =php_mysql.dll

расширение = php_mysqli.dll

; extension = php_oci8.dll; Использовать с Oracle 10gR2 Instant Client

; extension = php_oci8_11g.dll; Использовать с Oracle 11gR2 Instant Client

расширение = php_openssl.dll

; Расширение =php_pdo_firebird.dll

расширение =php_pdo_mysql.dll

расширение =php_ssh2.dll

Но проблема возникает после запуска Microsoft IIS, функции кажутся неопределенными, поэтому я прибегаю к запуску 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, что очевидно в более старых версиях этого расширения, у меня есть более старая версия из документа 5.4 в C:\WINDOWS\SYSTEM32, и я зарегистрирован с помощью:

C:> regsvr32 libssh2.dll

через командную строку.

Несмотря на то, что есть альтернативные библиотеки, предложенные по ряду вопросов / ответов из библиотеки вопросов о стеке в этом случае, я стараюсь избегать этих библиотек и правильно устанавливать расширение. Любой совет, который можно дать

1 ответ

Это немного поздний ответ. Недавно я столкнулся с этой проблемой с php 5.5.

Решение

  • Перейдите по http://www.libssh2.org/, загрузите libssh2.dll и поместите в корневой каталог php.

  • Другой вариант - получить один из php 5.4.* Отсюда, и libssh2 должен быть включен в zip-файл. Просто скопируйте его, и он должен быть совместим с php 5.4 и 5.5. Не уверен, почему он не включен в php 5.5, хотя!

Другие вопросы по тегам