Как установить cURL в Windows? - PullRequest
       103

Как установить cURL в Windows?

52 голосов
/ 08 октября 2008

Я следовал всем инструкциям здесь: http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/

для установки и настройки apache получить пакеты PHP5 и получите пакеты CURL.

Я запускаю apache и запускаю скрипт PHP. нет проблем. но когда я запускаю скрипт php с помощью curl, он не работает.

Возвращает: **Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**

В какой строке 5 вызывается curl_init()

Я вывожу php -i, чтобы узнать, называется ли правильный путь к расширению. Это правильно установлено:

extension_dir => C:\PHP\ext => C:\PHP\ext
cURL support => enabled
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3

Я даже пытался запустить curl_version(), но все равно появляется такая же ошибка.
Похоже, что PHP не может найти расширение CURL, но php.ini (и также php -i) показывает, что оно установлено.

есть идеи? :)

P.S>  System I m running on:
Windows XP
Apache 2.2
PHP 5.2.6
CURL Win32 Generic Binaries: Win32 2000/XP  metalink    7.19.0  binary  SSL enabled     Daniel Stenberg     249 KB

Я не получил это:

Win32 2000/XP   7.19.0  libcurl     SSL enabled     Günter Knauf    1.55 MB
Should I get this one instead?

Причина, по которой мне нужно использовать CURL, заключается в том, что это требование моего проекта. Так что я могу только придерживаться этого. XAMPP ... как это работает в Windows? Есть ли какой-нибудь сайт, который вы можете порекомендовать? Спасибо.

Я много чего пробовал при установке cURL и проверял все, но все же я все еще обхожу вокруг проблемы и понятия не имею, что происходит.

Сервер Apache использует правильный PHP.ini. и PHP.ini имеет правильный extension_dir и extension = php_curl.dll Я понятия не имею, почему это не работает. даже я следую каждому шагу для его настройки. (

Ответы [ 13 ]

48 голосов
/ 13 июня 2013

Используйте следующие шаги для установки curl:

  1. Открыть https://curl.haxx.se/dlwiz?type=bin в браузере.

  2. В раскрывающемся списке выберите свою операционную систему: либо Windows / Win32, либо Win 64. Нажмите «Выбрать»

  3. Для Win 32 выберите, будете ли вы использовать curl в командной строке Windows (Generic) или в терминале Cygwin (cygwin). Для Win 64 выберите, будете ли вы использовать curl в командной строке Windows (Generic) или MinGW (MinGW64). Нажмите Выбрать!

  4. При необходимости выберите операционную систему Windows. Готово.

  5. Нажмите «Загрузить» для версии с включенным или отключенным SSL

  6. Открыть загруженный zip-файл. Извлеките файлы в легко доступное место, например C: \ Program Files.

Проверка локона

  1. Откройте терминал командной строки Windows. (В меню «Пуск» выберите «Выполнить», затем введите cmd.)

  2. Установите путь для включения каталога, куда вы положили curl.exe. Например, если вы поместите его в C: \ Program Files \ curl, введите следующую команду: set path =% path%; "c: \ Program Files \ curl"

ПРИМЕЧАНИЕ. Вы также можете напрямую скопировать файл curl.exe в любой существующий путь на вашем пути

  1. Тип curl. Вы должны увидеть следующее сообщение: curl: попробуйте 'curl –help' или 'curl –message' для получения дополнительной информации Это означает, что curl установлен и путь правильный.
20 голосов
/ 08 октября 2008

Возможно, вы ошибаетесь в том, что PHP.ini нужно редактировать. во-первых, добавьте PHPinfo (); на info.php и запустите его из браузера.

Запишите путь к каталогу PHP ini, который вы сейчас видите в списке переменных! Вы, вероятно, заметите, что он отличается от вашего ini-файла PHP-CLI.

Включить расширение

Готово: -)

14 голосов
/ 08 октября 2008

Я использую XAMPP, в котором есть несколько файлов php.ini.

Вы можете найти строку в файлах php.ini: ;extension=php_curl.dll

Пожалуйста, удалите ; в начале этой строки. И вам может понадобиться перезапустить сервер Apache.

9 голосов
/ 01 мая 2012

У меня тоже были проблемы с этим. После того, как все эти шаги сделаны правильно и некоторые исправленные недопонимания (нет extensions_dir, но extension_dir и нет sessions.save_path, но session.save_path) ничего не работает.

Наконец-то я нашел эту заметку на php.net:

Примечание. Примечание для пользователей Win32: Чтобы включить этот модуль в среде Windows, в вашей переменной PATH должны присутствовать libeay32.dll и ssleay32.dll. Вам не нужен libcurl.dll с сайта cURL.

Поэтому я скопировал ssleay32.dll, libeay32.dll и php_curl.dll из / PHP в Windows / system32 и заменил уже существующие файлы (я заметил, что были более старые версии ssleay32.dll и libeay32.dll). После этого я нашел раздел CURL в php_info (); и наконец все работает.

Удачи!

4 голосов
/ 06 мая 2015

Еще один ответ для других людей, у которых была эта проблема

когда вы не комментируете добавочную строку, измените ее на:

extension=C:/php/ext/php_curl.dll

или расположение папки расширения, для меня это не работало, пока я не сделал это

2 голосов
/ 19 декабря 2012

Примечание: Примечание для пользователей Win32 Чтобы включить этот модуль (cURL) в среде Windows, в вашей переменной PATH должны присутствовать libeay32.dll и ssleay32.dll. Вам не нужно libcurl.dll с сайта cURL.

Эта заметка решила мою проблему. Мысль об обмене. libeay32.dll & ssleay.dll вы найдете в папке установки php.

2 голосов
/ 08 февраля 2009

Я недавно установил Curl на PHP5 для Windows Vista. Я не включил библиотеку CURL при первоначальной установке PHP5, поэтому ничего о Curl не показывалось в phpinfo () или php.ini.

Я установил CURL, перезапустив установщик PHP5 (php-5.2.8-win32-installer.msi для меня) и выбрав «Изменить». Затем я добавил компонент CURL. Перезапустите Apache, и CURL должен работать. CURL появится в phpinfo (). Кроме того, вот пример сценария, который вы можете запустить, чтобы убедиться, что он работает. Он отображает RSS-канал от Google:

    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,
    'http://news.google.com/news?hl=en&topic=t&output=rss');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $contents = curl_exec ($ch);
    echo $contents;
    curl_close ($ch);
    ?>
1 голос
/ 28 января 2015

Я согласен с Erroid, вы должны добавить каталог PHP в среду PATH.

PATH=%PATH%;<Your_PHP_Path>

Пример

PATH=%PATH%;C:\php

Это сработало для меня. Спасибо.

1 голос
/ 08 октября 2008

Вы можете найти XAMPP на http://www.apachefriends.org/en/xampp.html

http://www.apachefriends.org/en/xampp-windows.html объясняет XMAPP для Windows.

Да, после установки есть 3 файла php.ini, один для php4, один для php5 и один для apache. Пожалуйста, измените их соответственно.

0 голосов
/ 28 ноября 2018

Я перепробовал все, но ничего не помогло. После поиска в течение нескольких часов я нашел эту информацию:

Apache 2.4.18 по какой-то причине не загружает php 7.2 curl. Я обновил свой Apache до 2.4.29 и curl загружаются мгновенно

http://forum.wampserver.com/read.php?2,149346,149348

Что я должен сказать: я обновил Apache, и curl работал как шарм

...