Php curl на windows 10, php 5.6.17

Много похожих тем, но ни одно решение не решило мою проблему на 10 окошке (на новом компе полный чистый комп).

Я устанавливаю EasyPhp с php 5.6.17 на Windows 10, молодец! => curl_init() не работает

Теперь я хочу установить curl. Во-первых, в php.ini я раскомментировал строку «extension=php_curl.dll» (это хороший php.ini, я вижу путь в phpinfo()) и перезапустил Apache. => curl_init() не работает

Я добавляю libeay32.dll, libssh32.dll и ssleay32.dll в Windows/system32. => curl_init() не работает

На этом этапе работа с завитками выполнена на моих окнах 7.

Я добавляю libeay32.dll, libssh32.dll и ssleay32.dll в Apache/bin. => curl_init() не работает

Я добавляю php_curl.dll в Windows/system32. => curl_init() не работает

Пробую php_curl.dll 32 и 64. => curl_init() не работает

Я устанавливаю программное обеспечение OpenSSL (для curl требуется ssl). => curl_init() не работает

У меня нет сообщения об ошибке, кроме «Неустранимая ошибка: вызов неопределенной функции curl_init()». phpinfo() никогда не отображает модуль curl.

У меня заканчивается решение, есть идеи?


person Jeremy    schedule 21.01.2016    source источник


Ответы (4)


Я нашел проблему (после одного полного дня на эту проблему). Если вы столкнулись с той же проблемой, попробуйте следующее:

  • откройте командную строку и перейдите в корень каталога php
  • исполняемый файл: deplister.exe ext\php_curl.dll
  • проверить зависимости

У меня отсутствовал файл libssh32.dll, но он был в Windows/system32 и apache/bin. Чтобы решить эту проблему, я добавляю каталог php в окна путей и копирую файл libssh32.dll в каталог php.

Источник

person Jeremy    schedule 21.01.2016
comment
Если я прочитаю еще одно предложение на SO (или любом другом веб-сайте в этом отношении), чтобы добавить папку PHP в PATH, я буду кричать! ЭТО НЕ РАБОТАЕТ!!! По крайней мере, не с PHP 7.1.0 и Windows 10. Я также перепробовал все, что сказал ОП, но все равно ничего! WTF дает разработчиков PHP?!?! Мне нужно понизить версию, чтобы заставить это работать?! - person Kenny83; 22.12.2016
comment
C:\php›deplist.exe ext\php_curl.dll php5ts.dll,OK LIBEAY32.dll,OK WS2_32.dll,OK libssh2.dll,OK SSLEAY32.dll,OK WLDAP32.dll,OK Normaliz.dll,OK KERNEL32. dll, OK MSVCR110.dll, OK, это то, что я получаю, и cURL все еще не работает. - person vaske; 11.01.2017

У меня была точно такая же проблема с этой настройкой разработчика:

  • Windows 10
  • PHP 5.6.27
  • Apache 2.2 (да, я знаю, что v2.4 новее)

В PHP-CLI работает (загружается php curl ext), но не при запуске через Apache (не загружается php curl ext).

Потратив значительное время на чтение об этом и пробуя различные решения, именно *Jeremy больше всего помог мне с командой "deplister".

Получается (для меня) одни и те же dll-файлы (типа libeay32.dll и ssleay32.dll) присутствуют в разных папках (типа php/, apache/bin и windows/system32). Однако, даже если они называются одинаковыми, существуют разные их версии, на которые указывают разные даты и размеры.

Что заставило php-curl волшебным образом работать для меня, так это заменить libeay32.dll и ssleay32.dll в apache/bin более новыми версиями, которые я нашел в php/ (корневая папка php), и перезапустить службу apache.

Все эти папки присутствуют в системном PATH, но Apache, очевидно, сначала ищет в своей собственной папке bin. Итак, я обнаружил, что лучше копировать более новые dll в папку bin Apache, а не полагаться на системный PATH.

Надеюсь, это может помочь кому-то еще.

person karpy47    schedule 12.01.2017

В дополнение к ответу kapy47: в моем случае я проверил libssh2.dll в каталогах apache/bin и php, они были разных версий. Я заменил на более новые версии в apache/bin, и проблема была решена.

person DI_DJON    schedule 09.07.2018

Конфигурация системы: ОС: Win 10 64-битный сервер: Wamp Php Версия: 5.6.40

Скопируйте файл libssh2.dll из папки вашей версии php в Wamp и поместите его в apache/bin, затем перезапустите apache, ура, теперь curl_init будет работать отлично!

person Karthick    schedule 30.01.2020