dll — запуск PHP: невозможно загрузить динамическую библиотеку php_ssh2

Я пытаюсь установить расширение php_ssh2 на wamp.
Я делаю следующие вещи:

  1. скопировать libssh2.dll в C: \ Windows \ SysWOW64
  2. зарегистрировать файл dll: regsvr32 libssh2.dll
  3. скопируйте php_ssh2.dll в C: \ wamp \ bin \ php \ php5.5.12 \ ext
  4. добавить расширение в php.ini

я получил сообщение:

введите описание изображения здесь

Надеюсь, если кто-то узнает, чтобы помочь!
заранее спасибо

0

Решение

libssh2 — это пита. Я бы просто использовал слой libssh2-compatibility-phpseclib:

https://github.com/phpseclib/libssh2-compatibility-layer

Пример:

<?php
include('phpseclib.php');

$ssh = ssh2_connect('www.domain.tld');
echo ssh2_fingerprint($ssh);

По сути, он просто использует phpseclib для эмуляции всех функций ssh2_ *.

1

Другие решения

Libssh2.dll не нужно все, что с этим делать.

Как простое правило при использовании WAMPServer, ничего не нужно помещать в C:\windows\.... папки. Если вы отключите возможность переключения версий Apache / PHP / MySQL одним нажатием на ссылку что, в конце концов, является одной из основных причин использования WAMPServer над другими подобными продуктами.

Как установить расширение SSH2 PHP для WAMPServer.

СКАЧАТЬ расширение SSH2 отсюда

  • нажмите на слово «DLL» рядом со значком Windows, чтобы перейти к сборкам Windows.

Для WAMPServer вам понадобятся версии TS (Thread Safe)
Загрузите версию Thread Safe, соответствующую вашему WAMPServer, то есть 32-битной / 64-битной версии, и основную версию PHP, которую вы хотите установить, например, в PHP5.4 или PHP5.5 и т. Д.

Если вы работаете с 32-битным WAMPServer даже на 64-битной Windows, вы должны использовать 32-битную (x86) версию ssh2!

Используя wampmanager, остановите все сервисы

wampmanager -> Stop all Services

Извлеките эти 2 файла из zip (помните, что файлы SSH2 относятся к определенной версии PHP, поэтому убедитесь, что вы используете правильный zip файл).

copy libssh2.dll to \wamp\bin\php\phpx.y.z\
copy php_ssh2.dll to \wamp\bin\php\phpx.y.z\ext

Отредактируйте php.ini (используя меню wampmanager)

wampmanager -> PHP -> php.ini

Найдите раздел, содержащий параметры расширения, и добавьте эту строку

extension=php_ssh2.dll

Если вы используете WAMPServer 2.5.15 или более поздняя версия вы можете пропустить этот следующий шаг как это уже было включено в процесс обновления WAMPServer.

Если вы используете WAMPServer 2.5 или более ранние версии:

Редактировать \ wamp \ scripts \ config.inc.php
Найдите этот раздел файла,

$phpDllToCopy = array (

И добавить эту строку в массив, он может пойти в любом месте в этом списке

$phpDllToCopy = array (
'libssh2.dll',

Запустите все службы снова

wampmanager -> Start all Services

смотреть на

wampmanager -> PHP -> PHP Extensions

Вы должны увидеть php_ssh2 в списке с галочкой рядом с ним.

Теперь вам нужно получить WAMPManager для перекомпоновки SYMLINKS в папку \ apachex.y.z \ bin. Так что с помощью меню wampamanager DO:

wampmanager -> Apache -> Version -> 2.4.9

( click on the version number, it may or may not be 2.4.9 )

Это должно занять несколько секунд, а затем вы готовы проверить, загружен ли ssh2.

Теперь запустите localhost

wampmanager -> localhost

На главной странице вы должны увидеть ssh2 в списке Loaded Services

введите описание изображения здесь

Нажмите на phpinfo() ссылку на домашней странице WAMPServer, и вы должны увидеть следующую информацию, подтверждающую, что SSH2 был загружен

введите описание изображения здесь

Теперь, если вы хотите использовать SSH2 из PHP, используемого в командной строке (PHP CLI), вам нужно сделать еще одну вещь.

Изменить \ wamp \ bin \ php \ php {version} \ php.ini

Найдите раздел, содержащий параметры расширения, и добавьте эту строку

extension=php_ssh2.dll

Вы сделали.

0

По вопросам рекламы [email protected]