PHP Установить SSH2 на компьютере с Windows

Я пытаюсь установить это на машине Windows+Apache . Документация говорит, что SSH2 требует библиотеки OpenSSL и libssh2 . Я добавил эти строки в файл php.ini :

 extension=php_openssl.dll extension=php_ssh2.dll 

и перезапустил Apache, но он все еще не работает ( Fatal error: Call to undefined function ssh2_connect() ).

Может ли кто-нибудь объяснить мне, как установить эту услугу?

благодаря

ps: Я итальянский, извините за мой английский …

Вот как я это сделал:

  1. Загрузили расширение Win32 SSH2 PECL из этого места (выберите соответствующую версию);

  2. Извлечение содержимого архива и:

    • размещенные php_ssh2.dll и php_ssh2.pdb в папке ext (например, C:\php\ext );
    • скопировал файл libssh2.dll в C:\Windows\system32 и (если у вас есть Win64) C:\Windows\SysWOW64 (ы);
  3. Выполните следующую команду для регистрации DLL:

     C:\> regsvr32 libssh2.dll 
  4. Перезапущенный Apache.

Итоговая записка

Если вы получили PHP x64, вам нужно искать версию 64 библиотеки библиотеки DLL. Этот сайт предлагает некоторые компилируемые библиотеки Win64 для PHP, сначала попробуйте здесь.

Надеюсь это поможет.

  1. Поместите php_ssh2.dll в папку ext
  2. Поместите libssh2.dll в папку php
  3. Перезапустить IIS

которые работают для меня

  • PHP 5.4.25 NTS + Windows Server 2012

Если у кого-то возникли проблемы с установкой SSH2, вот как я это сделал:

1) Загрузите библиотеку SSH2 PECL из PHP.net .

2) Скопируйте файл libssh2.dll в папку System32.

3) Скопируйте php_ssh2.dll и php_ssh2.pdb в папку php / ext.

4) Удалить ';' из ;extension:php_ssh2.dll в php.ini. Если эта строка не находится на вашем php.ini, добавьте ее.

5) Перезапустите Apache.

libssh2 (deps): http://windows.php.net/downloads/php-sdk/deps/

php_ssh2 (ext): http://windows.php.net/downloads/pecl/releases/ssh2/0.12/

Версии до 5.5 уже имеют libssh2.dll (со второй ссылки)

Если вы используете xamp 3.2.1 и PHP 5.6.8, это может быть полезно для вас.

Сделайте то, что сказал alex b, и загрузите пакет, соответствующий запросу вашей версии php (и битов) с этой страницы ( ссылка )

Я загрузил и заменил в C: \ xampp \ php \ ext, и это сработало!

Надеюсь, это поможет, приветствует.

Прежде всего, ваш вопрос раскрывает два неправильных представления:

  1. В разделе « Требования » на самом деле сказано следующее:

    Требуются библиотеки OpenSSL и libssh2. Убедитесь, что библиотеки разработки установлены, где типичным именем пакета может быть openssl-dev.

    Речь идет не о расширениях PHP, а о сторонних библиотеках, которые не имеют никакого отношения к PHP.

  2. extension=php_ssh2.dll требует, чтобы у вас на самом деле был файл php_ssh2.dll в вашем каталоге ext и у вас его, вероятно, нет, в основном потому, что он не связан с PHP.

Если мы проверим раздел « Установка», мы сможем прочитать, что SSH2 является расширением PECL. Есть несколько ссылок с инструкциями, но я могу составить резюме важной информации:

  • Вам нужен файл php_ssh2.dll который соответствует вашей установке PHP.
  • Ни команда PHP, ни команда PECL не распространяют такой файл.
  • Установка PECL-расширений в Windows сложна. Вам нужно загрузить исходный код C, захватить компилятор C и сделать файл самостоятельно или найти того, кто уже сделал это для вас.

Сказал, что, если вы не используете Google для php_ssh2.dll и не найдете что-то актуальное, вам, вероятно, не повезло.

Исправьте, что сработало для меня. Я запускаю xampp v. 3.2.1 apache 2.2, столкнувшись с одной и той же проблемой, попытался поместить файлы dll в другое место c: но не удалось, наконец, это помогло.

1.) Загрузите файлы определенной версии DLL из http://pecl.php.net/package/ssh2/0.12/windows и извлеките файлы

Обратите внимание, что даже если вы в 64-битной версии Windows загрузите 32 версию THREAD SAFE ssh, т.е. Thread Safe (TS) x86, согласно вашей версии php

2.) Добавить / заменить libssh2.dll на C: \ xampp \ php (стандартная установка)

3.) Добавьте / замените php_ssh2.dll и php_ssh2.pdb в C: \ xampp \ php \ ext (стандартная установка)

4.) перезапустить сервер Apache

Работали как очарование

CHEERS

У меня есть wamp с PHP 5.6.25 / 7.0.10 – установлен MySQL 5.7.14, и я сейчас работаю над PHP 7.0. У меня была такая же ошибка. Я проверил использование phpinfo (), если работали оба библиотекаря OpenSSL и libssh2 (вы можете Google проверить, как это проверить). После того, как я увидел, что они работают, я загрузил php_ssh2.dll по адресу http://pecl.php.net/package/ssh2/1.0/windows (также можно найти http://windows.php.net/downloads/pecl / релизы / ssh2 / ) для версии 7.0, поместите его в папку php \ ext. Затем я включил его в файл php.ini, используя расширение = php_ssh2.dll.

Затем он появился в phpinfo (). И это сработало. Надеюсь, поможет.