Есть много похожих тем, но ни одно решение не решило мою проблему в окне 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 () не работает
На этом шаге свернутая работа сделана на моих windows 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 (ssl требуется для curl).
=> curl_init () не работает
У меня нет сообщения об ошибке, кроме «Неустранимая ошибка: вызов неопределенной функции curl_init ()». phpinfo () никогда не отображает модуль curl.
У меня заканчивается решение, есть идеи?
Я нашел проблему (после одного полного дня по этой проблеме).
Если вы столкнулись с той же проблемой, попробуйте это:
Для меня файл libssh32.dll отсутствовал, но он был в Windows / system32 и apache / bin. Чтобы решить эту проблему, я добавляю каталог php в окна пути и копирую файл libssh32.dll в каталог php.
У меня была точно такая же проблема с этой установкой dev:
В PHP-CLI это работает (php curl ext загружен), но не при работе через Apache (php curl ext не загружается).
Потратив немало времени на чтение об этом и пробуя разные решения, именно Джереми больше всего помог мне с командой «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.
Надеюсь, что это может помочь кому-то еще.
В дополнение к ответу kapy47: в моем случае я проверил libssh2.dll в каталогах apache / bin и php, они были разных версий. Я заменил на более новые версии в apache / bin и проблема была решена