Я пытаюсь установить это на машине 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: Я итальянский, извините за мой английский …
Вот как я это сделал:
Загрузили расширение Win32 SSH2 PECL из этого места (выберите соответствующую версию);
Извлечение содержимого архива и:
php_ssh2.dll
и php_ssh2.pdb
в папке ext
(например, C:\php\ext
); libssh2.dll
в C:\Windows\system32
и (если у вас есть Win64) C:\Windows\SysWOW64
(ы); Выполните следующую команду для регистрации DLL:
C:\> regsvr32 libssh2.dll
Перезапущенный Apache.
Итоговая записка
Если вы получили PHP x64, вам нужно искать версию 64 библиотеки библиотеки DLL. Этот сайт предлагает некоторые компилируемые библиотеки Win64 для PHP, сначала попробуйте здесь.
Надеюсь это поможет.
php_ssh2.dll
в папку ext libssh2.dll
в папку php 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, и это сработало!
Надеюсь, это поможет, приветствует.
Прежде всего, ваш вопрос раскрывает два неправильных представления:
В разделе « Требования » на самом деле сказано следующее:
Требуются библиотеки OpenSSL и libssh2. Убедитесь, что библиотеки разработки установлены, где типичным именем пакета может быть openssl-dev.
Речь идет не о расширениях PHP, а о сторонних библиотеках, которые не имеют никакого отношения к PHP.
extension=php_ssh2.dll
требует, чтобы у вас на самом деле был файл php_ssh2.dll
в вашем каталоге ext
и у вас его, вероятно, нет, в основном потому, что он не связан с PHP.
Если мы проверим раздел « Установка», мы сможем прочитать, что SSH2 является расширением PECL. Есть несколько ссылок с инструкциями, но я могу составить резюме важной информации:
php_ssh2.dll
который соответствует вашей установке PHP. Сказал, что, если вы не используете 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 (). И это сработало. Надеюсь, поможет.