Как найти, какая версия libssh2 требуется для моей версии php (в Windows)

Когда я проверяю свою версию php, я получаю следующие предупреждения:

PHP Warning:  PHP Startup: ssh2: Unable to initialize module
Module compiled with module API=20121212
PHP    compiled with module API=20131226
These options need to match
in Unknown on line 0

Я пытаюсь понять, какие версии работают вместе и как я могу получить правильную версию для настройки PHP с SSH2. Я смог найти .tar.gz версии libssh из таких мест, как следующие:

https://www.rpmfind.net/linux/RPM/remi/enterprise/6/x86_64/php56-php-pecl-ssh2-0.12-4.el6.remi.x86_64.html

Проблема в том, что я использую компьютер с Windows, а не Linux. Кто-нибудь знает, могу ли я получить такую ​​же версию libssh для Windows? Или я должен понизить PHP до уровня ssh2? Или это не о чем беспокоиться и просто причуды Windows?

Вот некоторые детали, которые могут быть полезны:

OS: Windows 10 (x64)
PHP Version: PHP 5.6.15 (cli) (built: Oct 29 2015 12:39:50)
Microsoft Visual C++ 2015 Redistributable (x64) 11.0.61030
Server version: Apache/2.4.17 (Win64)
Apache Lounge VC11 Server built:   Oct 13 2015 11:37:51

Кроме того … Я нашел версию ssh2 zip, которую я скачал. Это был 5,5 Thread Safe (TS) x64 из: https://pecl.php.net/package/ssh2/0.12/windows
Итак, я думаю, это означает, что мне нужно понизить мой PHP до 5.5, чтобы это работало должным образом. Это правильно или есть лучший способ?

-1

Решение

Я нашел решение проблемы. Как указано в ОП, проблема заключалась в том, что модуль PHP был более поздней версией, чем модуль SSH2. Вопрос был в том, как найти версии, которые будут работать с указанными настройками. Это оказалось довольно сложно, потому что было необходимо интегрировать больше систем, чем я думал. Я ошибочно предполагал, что последние версии будут хорошо играть вместе.

Поскольку я использую 64-битную Windows 10, я хотел получить стабильную версию PHP, которая работает против этого — это будет PHP 7. Как сказано здесь: http://windows.php.net/download/. Первоначально я скачал PHP 7.0, но он не очень хорошо работал с другим модулем, который я хотел установить, который был MongoDB.

Когда я заглянул в MongoDB, я понял, что еще нет драйвера для PHP 7.0, поэтому последний, который я смог получить, был PHP 5.6. Это означало, что мне пришлось согласиться на «экспериментальную» 64-битную версию PHP. Так что я сделал сдвиг, и все шло хорошо, пока я не решил, что хочу получить Composer, чтобы я мог управлять своими зависимостями PHP.

Когда я попытался установить Composer с помощью установщика Windows, произошел сбой с неизвестным исключением, и я предложил попробовать из командной строки получить лучший ответ об ошибке. Так что я правильно сделал, и ошибка показала, что модуль ssh2 был несовместим с PHP 5.6.

Это в конечном итоге заставило меня задать вопрос по stackoverflow.

Еще немного покопавшись в том, какие есть версии ssh2, я перешел на следующую страницу: http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
Это говорит мне о том, что последней версией PHP, совместимой с расширением SSH2, была PHP 5.5. Итак … похоже, что решение было понизить до версии 5.5.

Когда я начал искать новую (старую) версию для загрузки, я наткнулся на этот замечательный сайт с пакетом пакетов: https://www.apachelounge.com/viewtopic.php?t=6123
Оттуда я мог скачать эту версию (https://phpdev.toolsforresearch.com/php-5.5.20-Win32-VC11-x64.zip) и он будет содержать все нужные мне модули в правильной версии.

Итак, в заключение, немного более предварительный анализ того, какие версии хорошо сочетаются друг с другом, помог бы или понял, что в Apache Lounge есть все версии, которые работают вместе, в красивой аккуратной связке.

-1

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

Других решений пока нет …

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