Как установить curl php windows

Настройка curl php на Windows

Настройка cURL

Написанное ниже актуально для связки Windows 8.1 x64 , Windows10 x64 + Apache 2.4.12 (win32) + Open SSl 1.0.1m + PHP 5.6.11 (php-5.6.11-Win32-VC11-x86).

  1. Скачиваем библиотеку cURL http://winampplugins.co.uk/curl. Распаковываем в любую папку. Например, «W:\WebServers\usr\local\curl».
  2. В файле настроек PHP php.ini необходимо включить расширение extension=php_curl.dll.
  3. Пункт не обязательный, но во многих источниках его рекомендуют выполнять. У нас работает без выполнения этого пункта. Из папки где установлен PHP скопировать в папку « C:\Windows \system32» следующие библиотеки: libssh2.dll, php_curl.dll (находится в папке ext), ssleay32.dll, libeay32.dll. Дополнительно файл ssleay32.dll необходимо скопировать в «C:\Windows\SysWOW64».
  4. Добавить в переменные среды в переменную Path пути до папки установки curl.exe и файла php.ini. Например, «W:\WebServers\usr\local\curl;W:\WebServers\usr\local\php5». Очень порадовало то, что в windows10 (1511) появился новый интерфейс редактирования переменных сред. Стало очень удобно редактировать параметры.

Включение поддержки SSL для cURL

  1. Скачать файл http://curl.haxx.se/ca/cacert.pem в папку, в которой установлена библиотека curl.exe.
  2. Переименовать скаченный файл в curl-ca-bundle.crt
  3. Перезагрузить компьютер.

Проверка работы cURL

© 2004–2020 Студия Павла Филинкова в Екатеринбурге
Вся информация на сайте носит справочный характер и не является публичной офертой.

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

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

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

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

Он возвращает: **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, чтобы узнать, вызывается ли правильный путь к расширению. Он правильно установлен:

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

Я этого не понял:

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

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

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

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

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

Читайте также:  Linux запуск фоновый процесс

Для установки завитка выполните следующие действия:

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

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

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

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

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

Тестирование завитка

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

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

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

  1. Тип curl. Вы должны увидеть следующее сообщение: curl: попробуйте «curl -help» или «curl -message» для получения дополнительной информации. Это означает, что завиток установлен, и путь правильный.

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

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

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

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

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

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

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

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

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

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

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

когда вы прокомментируете линию расширения, измените ее на:

Расширение = C: /php/ext/php_curl.dll

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

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

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

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

Я решил проблему.

В моем apache я должен указать:

Читайте также:  Как вернуть папки пользователя windows 10

PHPIniDir «C: // php» Приложение AddType / x-httpd-php .php

а для php.ini вместо использования php.ini_recommend используйте php.ini_dist для настройки моего php.ini.

затем убедитесь, что двигатель php включен. то он работает сейчас. Спасибо всем.

Вы можете использовать двоичный файл файла curl .download отсюда: http://www.paehl.com/open_source/?CURL_7.22.0 Загрузите файл и после того, как извлечение будет загружено на любой диск и установите абсолютный путь в среду, вы можете также используйте curl в качестве команды в окнах. например c: \ curl -u user@example.com: пароль http: // localhost: 3000 / user / sign_in

Вы также можете использовать CygWin и установить пакет cURL. Он работает очень хорошо и безупречно !!

PHP CURL – функции и примеры использования

Предлагаю немного поговорить о языке программирования PHP, а конкретно затронуть тему расширения CURL, т.е. возможность взаимодействовать с различными серверами по различным протоколам из самого скрипта PHP.

Перед тем как приступить к рассмотрению curl хочу напомнить, что язык PHP мы с Вами уже затрагивали, например, в материале про выгрузку в Excel на PHP или возможность аутентификации на PHP, а теперь давайте поговорим о возможности посылать запросы на PHP.

Что такое CURL?

CURL – это библиотека функций PHP, с помощью которой можно посылать запросы, например, HTTP, из PHP скрипта. CURL поддерживает такие протоколы как HTTP, HTTPS, FTP и другие. Посылать HTTP запросы можно методами GET, POST, PUT.

CURL может пригодиться в случаях когда необходимо вызвать удаленный скрипт и получить результат или просто сохранить HTML код вызываемой страницы, в общем каждый может найти свое применение но смысл один это то что можно послать запросы в процессе выполнения скрипта.

Подключение библиотеки CURL в PHP

Для того чтобы использовать библиотеку CURL ее соответственно нужно подключить.

Примечание! В качестве примера мы будем использовать PHP 5.4.39 на Windows 7, а в качестве Web-сервера у нас будет выступать Apache 2.2.22.

Первое что нужно сделать, это скопировать библиотеки ssleay32.dll, libeay32.dll, libssh2.dll они расположены в директории с PHP, в системный каталог Windows, а именно в C:\Windows\System32.

Затем в php.ini подключить библиотеку php_curl.dll, т.е. раскомментировать следующую строку

Библиотека не подключена

Все, перезапускаем Apache, вызываем функцию phpinfo() и в случае успешного подключения у Вас должен появиться раздел curl

Если его нет, то это означает только одно, что библиотека не загрузилась, самая распространенная причина этого небыли скопированы вышеперечисленные DLL в системный каталог Windows.

Пример CURL – запрашиваем удаленную страницу для вывода на экран

В данном примере мы просто запросим удаленную страницу по протоколу HTTP методом GET и выведем ее содержимое на экран.

У нас имеется каталог test в нем 2 PHP файла это test_curl.php и test.php, где test_curl.php и есть скрипт где мы будем использовать curl, а test.php удаленный скрипт который мы будем вызывать. Код я подробно прокомментировал.

Код test_curl.php

Код test.php

В итоге если вы запустите test_curl.php у Вас выведется на экран надпись «Заголовок 1», можете поэкспериментировать с передачей параметров id (в данном случае 2 или 3).

Пример CURL – вызываем удаленный скрипт и получаем результат

Сейчас давайте попробуем вызвать скрипт и получить результат, для того чтобы потом его обработать, для примера давайте использовать метод POST. Названия файлов оставим такими же.

Читайте также:  Дебиан или альт линукс

Код test_curl.php

Код test.php

И если мы запустим test_curl.php то на экран у нас выведется 111, т.е. 1.11 полученное в результате обращения к удаленному скрипту, умноженное на 100.

А теперь давайте поговорим о функциях и константах к ним.

Часто используемые функции CURL и константы

  • curl_init — Инициализирует сеанс;
  • curl_close — Завершает сеанс;
  • curl_exec — Выполняет запрос;
  • curl_errno — Возвращает код ошибки;
  • curl_setopt — Устанавливает параметр для сеанса, например:
    • CURLOPT_HEADER – значение 1 означает, что необходимо вернуть заголовки;
    • CURLOPT_INFILESIZE — параметр для указания ожидаемого размера файла;
    • CURLOPT_VERBOSE — значение 1 означает что CURL будет выводить подробные сообщения о всех производимых операциях;
    • CURLOPT_NOPROGRESS – отключение индикатора прогресса операции, значение 1;
    • CURLOPT_NOBODY – если Вам не нужен документ, а нужны только заголовки, то поставьте значение 1;
    • CURLOPT_UPLOAD — для закачки файла на сервер;
    • CURLOPT_POST – выполнить запрос методом POST;
    • CURLOPT_FTPLISTONLY — получение списка файлов в директории FTP сервера, значение 1;
    • CURLOPT_PUT — выполнить запрос методом PUT, значение 1;
    • CURLOPT_RETURNTRANSFER — возвратить результат, не выводя в браузер, значение 1;
    • CURLOPT_TIMEOUT – максимальное время выполнения в секундах;
    • CURLOPT_URL – указание адреса для обращения;
    • CURLOPT_USERPWD — строка с именем пользователя и паролем в виде [username]:[password];
    • CURLOPT_POSTFIELDS – данные для POST запроса;
    • CURLOPT_REFERER — задает значение HTTP заголовка «Referer: »;
    • CURLOPT_USERAGENT — задает значение HTTP заголовка «User-Agent: »;
    • CURLOPT_COOKIE — содержимое заголовка «Cookie: », который будет отправлен с HTTP запросом;
    • CURLOPT_SSLCERT- имя файла с сертификатом в формате PEM;
    • CURLOPT_SSL_VERIFYPEER – значение 0, для того чтобы запретить проверку сертификата удаленного сервера (по умолчанию 1);
    • CURLOPT_SSLCERTPASSWD — пароль к файлу сертификата.
  • curl_getinfo — Возвращает информацию об операции, вторым параметром может выступать константа для указания, что именно нужно показать, например:
    • CURLINFO_EFFECTIVE_URL — последний использованный URL;
    • CURLINFO_HTTP_CODE — последний полученный код HTTP;
    • CURLINFO_FILETIME — дата модификации загруженного документа;
    • CURLINFO_TOTAL_TIME — время выполнения операции в секундах;
    • CURLINFO_NAMELOOKUP_TIME — время разрешения имени сервера в секундах;
    • CURLINFO_CONNECT_TIME — время, затраченное на установку соединения, в секундах;
    • CURLINFO_PRETRANSFER_TIME — время, прошедшее от начала операции до готовности к фактической передаче данных, в секундах;
    • CURLINFO_STARTTRANSFER_TIME — время, прошедшее от начала операции до момента передачи первого байта данных, в секундах;
    • CURLINFO_REDIRECT_TIME — время, затраченное на перенаправление, в секундах;
    • CURLINFO_SIZE_UPLOAD — количество байт при закачке;
    • CURLINFO_SIZE_DOWNLOAD — количество байт при загрузке;
    • CURLINFO_SPEED_DOWNLOAD — средняя скорость закачки;
    • CURLINFO_SPEED_UPLOAD — средняя скорость загрузки;
    • CURLINFO_HEADER_SIZE — суммарный размер всех полученных заголовков;
    • CURLINFO_REQUEST_SIZE — суммарный размер всех отправленных запросов;
    • CURLINFO_SSL_VERIFYRESULT — результат проверки SSL сертификата, запрошенной с помощью установки параметра CURLOPT_SSL_VERIFYPEER;
    • CURLINFO_CONTENT_LENGTH_DOWNLOAD — размер загруженного документа, прочитанный из заголовка Content-Length;
    • CURLINFO_CONTENT_LENGTH_UPLOAD — размер закачиваемых данных;
    • CURLINFO_CONTENT_TYPE — содержимое полученного заголовка Content-type, или NULL в случае, когда этот заголовок не был получен.

Подробнее о функциях CURL и константах к ним можете посмотреть на официальном сайте PHP — php.net

На этом все, для начинающих я думаю достаточно Удачи!

Оцените статью