Меню Рубрики

Установка curl на сервере

Устанавливаем curl в Debian

Такая небольшая программка как curl умеет очень многое и вряд ли она установлена по-умолчанию на вашем VPS -сервере. Если Вы web-разработчик и не знаете, что такое curl, то стоит ознакомиться с ее возможностями здесь и, возможно, некоторые вещи, которые раньше делались сложно, впредь будут реализованы проще и эффективнее.

Те разработчики, кто разрабатывал когда-нибудь HTML — или XML — парсеры, знают о ее возможностях.

Для себя я открыл curl только в тот момент, когда предстояло разработать плагин для Textpattern, который бы вопреки политики социальной сети «Вконтакте», автоматически добавлял уведомление о публикации новой статьи в публичную группу. Увы, без curl у меня этого сделать так и не получилось.

После того как мы, я надеюсь, определились зачем этот самый curl нам нужен, приступаем к его установке на сервер, где стоит PHP и Apache. Если у Вас простой хостинг (не VPS ), то стоит обратиться к хостеру с просьбой его включить и он все сделает за Вас, если уже этого не сделал. У меня на одном хостинге именно так и было.

Как узнать установлен ли у меня curl?

Перед тем, как ринуться к установке, давайте проверим: возможно, он уже у Вас установлен. Я не нашел ничего проще, чем создать файл, к примеру, curl.php с содержимым:

и запустить его через браузер.

В выведенной простыне текста, можно поиском по странице поискать curl и если он у Вас не найдется, то смело полагать, что у Вас он не установлен.

Устанавливаем curl в Debian

Еще с давних времен, когда я использовал Ubuntu, я привык к DEB -дистрибутивам и менять их не хочу. Именно поэтому практически на всех своих серверах я использую в качестве операционной системы – Debian, о чем еще ниразу не пожалел.

  1. Устанавливаем все, что нужно:
  2. После этого нужно всего-лишь перезапустить Apache:

Для подтверждения того, что curl начал свою работу нужно снова запустить наш тестовый файл – curl.php и в последний раз пройтись поиском по открытой странице. В 99% случаях Вы увидите подтверждение того, что curl уже работает и можно приступать к порабощению интернета.

P.S. Сейчас как раз такое время, когда на улице уже холодно, а отопление администрация нашего города включать пока не спешит. В такие моменты найти спасение можно только в различных обогревателях. Побочным эффектов любого обогревателей является то, что он сильно сушит окружающий воздух. Бороться с этим помогают увлажнители воздуха для дома. Именно эти два устройства вместе помогут пережить это тяжелое для России время.

Читаю наверно двадцатый сайт и везде сидят одни профессора. Советуют прописать строку sudo apt-get install … А где ее прописывать?

Зайдите на ваш VPS -сервер через SSH и там пропишите

Наверное, нужно echo phpinfo();

Действительно, опечатался. Спасибо!

echo не нужно перед phpinfo() эта функция автоматически выводит наэкран

echo не нужно перед phpinfo() эта функция автоматически выводит наэкран

источник

Как установить Curl в Linux

В этой статье вы узнаете, как установить инструмент командной строки curl для передачи данных на сервер и с сервера с использованием различных типов запросов. Это альтернатива загрузкика файлов, отличная от использования команды wget.

Команда curl загружает файлы, которые используют FTP, HTTP, SCP, IMAP и других различных поддерживаемых протоколов. Curl используется в системах Unix/Linux для загрузки файлов и пакетов в терминале.

В современных системах curl поставляется предварительно установленным. Однако, если вы запускаете Ubuntu или Debian, введите команду.

Чтобы проверить что curl уже установленный, запустите:

Установите curl на RHEL/CentOS/Fedora

Чтобы установить curl на дистрибутивах RHEL, CentOS и Fedora, войдите через SSH от имени пользователя root и выполните команду.

Чтобы проверить что curl уже установленный, запустите:

Установите curl на OpenSUSE

В OpenSUSE установите curl, запустив:

Чтобы проверить что curl уже установленный, запустите:

Установка curl на ArchLinux

Чтобы установить curl на ArchLinux:

И, наконец, чтобы проверить что curl уже установленный, запустите:

И с этим мы подошли к концу этого руководства. Из этого руководства вы узнали, как установить curl в разных дистрибутивах Linux.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

источник

Установка cURL на Denwer

Очень давно не писал ничего по PHP, поэтому решил написать небольшую серию статей, посвящённых великолепному модулю PHP — cURL. Но прежде чем его использовать, cURL надо установить на Denwer, так как в базовую версию этого пакета cURL не входит.

Прежде чем переходить к установке cURL на Denwer, давайте кратко расскажу о возможностях, которые предоставляет данный модуль. cURL — это удобный способ для моделирования действий пользователя на сервере. Фактически, Вы можете проверять ответ сервера при том или ином запросе. Например, можете отправлять POST-запросы и смотреть, что отдаёт сервер. Например, хотите проверить работу системы авторизации. Разумеется, можно и вручную через браузер вводить логин и пароль и смотреть, что происходит. Но гораздо удобнее будет написать небольшую серию тестов, в которых происходит отправка различных примеров логина и пароля, и при этом выводится ответ от сервера: успешная авторизация или нет. А Вы уже смотрете: правильно работает скрипт авторизации или нет. Вот для подобных целей и используется модуль cURL.

Читайте также:  Установка печки на субару форестер

А теперь давайте займёмся установкой модуля cURL на Denwer:

  • Скачайте пакет расширений: «PHP5: дополнительные модули» по этой ссылке: http://www.denwer.ru/packages/php5.html.
  • Устанавливаете скачанный пакет (предварительно остановите сервер, если он запущен).
  • В файле «usr/local/php5/php.ini» уберите комментарий из строчки: «;extension=php_curl.dll«, стерев кавычки в начале строки.
  • Запустите сервер.
  • Проверьте данные в phpinfo(). Если увидите «cURL support enabled«, значит, всё хорошо. Если нет, то внимательно проверьте: все ли шаги Вы выполнили правильно.

Думаю, что в следующей статье (а, может быть, через одну), мы с Вами будем разбирать этот модуль уже на примере использования его в PHP-скриптах, так что не переключайтесь!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 7 ):

    а можно ли установить curl без апгрейда php 5.2 на php 5.3? потому что пакет расширений, предлагаемый denwer’ом как раз 5.3-й версии. а отдельно php_curl.dll подключаться не хочет.

    Можно, причём в Интернете много информации, как устанавливать именно для php 5.2.

    Здравствуйте, Михаил. Стараюсь не пропускать Ваши уроки, но на этом топике у меня загвоздка: php 5.3.13, Win7 32 bit — накачала уже кучу библиотек и ни одна не хочет работать в моей системе. Не подскажите, где для моего случая взять CURL? Сборка, которая по ссылке в статье, тоже не подошла.

    Как-то подозрительно что ни одна библиотека не работает. Возможно тут не в версии дело, а в том что сам php криво встал. Попробуйте переустановить его, для начала.

    Здраствуйте Михаил.Обьясните пожалуйсто как корректно подключить openSSL.Заранее благодарен.

    Принцип аналогичен тому, что в статье. Возможно напишу потом статью по этому.

    Было бы очень кстати эсли бы вы написали статью на эту тему.В интернете много статей по этой теме но очень хотелось бы почитать именно вашу.

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    источник

    Решение проблемы с работой модуля cURL на PHP 5.6.1, PHP 5.5.17 и выше (на Windows)

    Те, кто использует cURL, после обновлений на 5.6.1, 5.5.17 столкнулись с тем, что модуль cURL перестал работать. Проблема с тех пор не исчезла. Даже в последней на сегодняшней момент версии PHP 5.6.4 эта проблема сохранилась.

    Как узнать, работает ли у вас cURL?

    Создайте php файл и скопируйте туда:

    Откройте его с сервера. Если на выходе что-то вроде:

    Значит с cURL всё в порядке, если вместо этого ошибка PHP, значит проблема существует.

    Во-первых, конечно же проверьте файл php.ini, найдите там строчку

    И убедитесь, что перед ней не стоит точка с запятой.

    Если всё так, а cURL не работает, то можно провести ещё один тест, для подтверждения необычности ситуации. Создайте ещё один php файл с содержанием:

    Через поиск в браузере найдите cURL, если совпадение всего одно, значит модуль cURL не загружен:

    При этом и Apache и PHP работают как обычно.

    1. Способ первый (не кошерный). Если у вас PHP 5.6.*, то возьмите версию PHP 5.6.0, оттуда возьмите старый файл php_curl.dll и замените его вместо вашего нового из версии, например, PHP 5.6.4. Для тех, у кого PHP 5.5.17 и выше, нужно взять этот же файл из PHP 5.5.16 и также его заменить. Проблема здесь одна — найти эти старые версии. Можно, конечно, покавыряться в http://windows.php.net/downloads/snaps/php-5.6, но лично я там не нашёл того, что мне нужно. Да и само решение какое-то не совсем кошерное.
    2. Способ второй (очень быстрый, но тоже не кошерный). Из каталога PHP скопировать файл libssh2.dll в каталог Apache24bin и перезапустить Apache.
    3. Способ третий (кошерный — кошерные люди аплодируют стоя). Нужно добавить вашу PHP директорию в PATH. Как это сделать очень хорошо расписано в официальной документации.
    Читайте также:  Установка замка abloy el502

    Вуаля, секция cURL на месте.

    Почему так? Откуда взялась эта проблема? Ответа на этот вопрос нет, хотя уже описан механизм её возникновения.

    Проблема связана, вроде, с тем, что 5.6.1 должен был выпущен с обновлённым libcurl 7.38.0. Но это доподлинно не известно, авторы PHP кивают на Apache, мол это там какие-то баги.

    Механизм возникновения проблемы: если в системную PATH не включён каталог PHP, то когда служба Apache запускается, она не способна найти новый dll (libssh2.dll), который является зависимостью для php_curl.

    Соответствующие баг репорты:

    Fatal error: Call to undefined function curl_multi_init() in …

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

    Кроме этого, гугление дало ещё несколько выводов:

    В Интернете достаточно «инструкций для дибилов», в которых подробно, с картинками, рассказывают как раскомментировать строку extension=php_curl.dll в файле php.ini.

    На официальном сайте PHP, в разделе по установке cURL, есть всего два предложения относительно системы Windows:

    Для работы с этим модулем в Windows файлы libeay32.dll и ssleay32.dll должны существовать в системной переменной окружения PATH. Вам не требуется файл libcurl.dll с сайта cURL.

    Я прочитал их десяток раз. Переключился на английский язык и прочитал ещё несколько раз на английском. С каждым разом всё больше убеждаясь, что эти два предложения написали животные, или кто-то просто попрыгал попой на клавиатуре — я не понимаю их смысла.

    Ещё есть несколько каких-то сумасшедших советов и инструкций (некоторые я успел даже опробовать).

    На сайте баг репортов ПХП я уже вплотную подобрался к разгадке, что нужно в системную переменную PATH включить каталог с PHP.

    источник

    Как пользоваться curl

    Нам часто приходится загружать различные файлы из интернета, например, исполняемые файлы программ, файлы скриптов, архивы с исходниками. Но не всегда это нужно делать через браузер. Во многих ситуациях гораздо проще выполнить все действия через терминал. Поскольку таким образом вы можете автоматизировать процесс. С другой стороны, веб-мастерам время от времени приходится тестировать доступность веб-сайтов, проверять отправляемые и получаемые заголовки и многое другое.

    Для решения таких задач и задач подобного круга можно воспользоваться утилитой curl. Она позволяет решить намного более широкий круг задач, среди которых даже имитация действий пользователя на сайте. В этой статье мы рассмотрим как пользоваться curl, что это такое и зачем нужна эта программа.

    Что такое curl?

    На самом деле, curl — это больше чем просто утилита командной строки для Linux или Windows. Это набор библиотек, в которых реализуются базовые возможности работы с URL страницами и передачи файлов. Библиотека поддерживает работу с протоколами: FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, LDAP, а также POP3, IMAP и SMTP. Она отлично подходит для имитации действий пользователя на страницах и других операций с URL адресами.

    Поддержка библиотеки curl была добавлена в множество различных языков программирования и платформ. Утилита curl — это независимая обвертка для этой библиотеки. Именно на этой утилите мы и остановимся в этой статье.

    Команда curl

    Перед тем как перейти к описанию того как может использоваться команда curl linux, давайте разберем саму утилиту и ее основные опции, которые нам понадобятся. Синтаксис утилиты очень прост:

    $ curl опции ссылка

    Теперь рассмотрим основные опции:

    • -# — отображать простой прогресс-бар во время загрузки;
    • -0 — использовать протокол http 1.0;
    • -1 — использовать протокол шифрования tlsv1;
    • -2 — использовать sslv2;
    • -3 — использовать sslv3;
    • -4 — использовать ipv4;
    • -6 — использовать ipv6;
    • -A — указать свой USER_AGENT;
    • -b — сохранить Cookie в файл;
    • -c — отправить Cookie на сервер из файла;
    • -C — продолжить загрузку файла с места разрыва или указанного смещения;
    • -m — максимальное время ожидания ответа от сервера;
    • -d — отправить данные методом POST;
    • -D — сохранить заголовки, возвращенные сервером в файл;
    • -e — задать поле Referer-uri, указывает с какого сайта пришел пользователь;
    • -E — использовать внешний сертификат SSL;
    • -f — не выводить сообщения об ошибках;
    • -F — отправить данные в виде формы;
    • -G — если эта опция включена, то все данные, указанные в опции -d будут передаваться методом GET;
    • -H — передать заголовки на сервер;
    • -I — получать только HTTP заголовок, а все содержимое страницы игнорировать;
    • -j — прочитать и отправить cookie из файла;
    • -J — удалить заголовок из запроса;
    • -L — принимать и обрабатывать перенаправления;
    • -s — максимальное количество перенаправлений с помощью Location;
    • -o — выводить контент страницы в файл;
    • -O — сохранять контент в файл с именем страницы или файла на сервере;
    • -p — использовать прокси;
    • —proto — указать протокол, который нужно использовать;
    • -R — сохранять время последнего изменения удаленного файла;
    • -s — выводить минимум информации об ошибках;
    • -S — выводить сообщения об ошибках;
    • -T — загрузить файл на сервер;
    • -v — максимально подробный вывод;
    • -y — минимальная скорость загрузки;
    • -Y — максимальная скорость загрузки;
    • -z — скачать файл, только если он был модифицирован позже указанного времени;
    • -V — вывести версию.
    Читайте также:  Установка распорок лада калина

    Это далеко не все параметры curl linux, но здесь перечислено все основное, что вам придется использовать.

    Как пользоваться curl?

    Мы рассмотрели все, что касается теории работы с утилитой curl, теперь пришло время перейти к практике, и рассмотреть примеры команды curl.

    Загрузка файлов

    Самая частая задача — это загрузка файлов linux. Скачать файл очень просто. Для этого достаточно передать утилите в параметрах имя файла или html страницы:

    Но тут вас ждет одна неожиданность, все содержимое файла будет отправлено на стандартный вывод. Чтобы записать его в какой-либо файл используйте:

    curl -o readme.txt https://raw.githubusercontent.com/curl/curl/master/README.md

    А если вы хотите, чтобы полученный файл назывался так же, как и файл на сервере, используйте опцию -O:

    curl -O https://raw.githubusercontent.com/curl/curl/master/README.md

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

    curl -# -C — -O https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc7.tar.xz

    Если нужно, одной командой можно скачать несколько файлов:

    curl -O https://raw.githubusercontent.com/curl/curl/master/README.md -O https://raw.githubusercontent.com/curl/curl/master/README

    Еще одна вещь, которая может быть полезной администратору — это загрузка файла, только если он был изменен:

    curl -z 21-Dec-17 https://raw.githubusercontent.com/curl/curl/master/README.md -O https://raw.githubusercontent.com/curl/curl/master/README

    Данная команда скачает файл, только если он был изменен после 21 декабря 2017.

    Ограничение скорости

    Вы можете ограничить скорость загрузки до необходимого предела, чтобы не перегружать сеть с помощью опции -Y:

    curl —limit-rate 50K -O https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc7.tar.xz

    Здесь нужно указать количество килобайт в секунду, которые можно загружать. Также вы можете разорвать соединение если скорости недостаточно, для этого используйте опцию -Y:

    curl -Y 100 -O https://raw.githubusercontent.com/curl/curl/master/README.md

    Передача файлов

    Загрузка файлов, это достаточно просто, но утилита позволяет выполнять и другие действия, например, отправку файлов на ftp сервер. Для этого существует опция -T:

    curl -T login.txt ftp://speedtest.tele2.net/upload/

    Или проверим отправку файла по HTTP, для этого существует специальный сервис:

    В ответе утилита сообщит где вы можете найти загруженный файл.

    Отправка данных POST

    Вы можете отправлять не только файлы, но и любые данные методом POST. Напомню, что этот метод используется для отправки данных различных форм. Для отправки такого запроса используйте опцию -d. Для тестирования будем пользоваться тем же сервисом:

    curl -d «field1=val&fileld2=val1″http://posttestserver.com/post.php

    Если вас не устраивает такой вариант отправки, вы можете сделать вид, что отправили форму. Для этого есть опция -F:

    curl -F «password=@pass;type=text/plain» http://posttestserver.com/post.php

    Здесь мы передаем формой поле password, с типом обычный текст, точно так же вы можете передать несколько параметров.

    Передача и прием куки

    Куки или Cookie используются сайтами для хранения некой информации на стороне пользователя. Это может быть необходимо, например, для аутентификации. Вы можете принимать и передавать Cookie с помощью curl. Чтобы сохранить полученные Cookie в файл используйте опцию -c:

    curl -c cookie.txt http://posttestserver.com/post.php

    Затем можно отправить cookie curl обратно:

    curl -b cookie.txt http://posttestserver.com/post.php

    Передача и анализ заголовков

    Не всегда нам обязательно нужно содержимое страницы. Иногда могут быть интересны только заголовки. Чтобы вывести только их есть опция -I:

    А опция -H позволяет отправить нужный заголовок или несколько на сервер, например, можно передать заголовок If-Modified-Since чтобы страница возвращалась только если она была изменена:

    curl -I —header ‘If-Modified-Since: Mon, 26 Dec 2016 18:13:12 GMT’ https://losst.ru

    Аутентификация curl

    Если на сервере требуется аутентификация одного из распространенных типов, например, HTTP Basic или FTP, то curl очень просто может справиться с такой задачей. Для указания данных аутентификации просто укажите их через двоеточие в опции -u:

    curl -u ftpuser:ftppass -T — ftp://ftp.testserver.com/myfile_1.txt

    Точно так же будет выполняться аутентификация на серверах HTTP.

    Использование прокси

    Если вам нужно использовать прокси сервер для загрузки файлов, то это тоже очень просто. Достаточно задать адрес прокси сервера в опции -x:

    curl -x proxysever.test.com:3128 http://google.co.in

    Выводы

    В этой статье мы рассмотрели как пользоваться curl, зачем нужна эта утилита и основные ее возможности. Несмотря на свою схожесть с wget, они очень сильно отличаются. Команда curl linux предназначена больше для анализа и имитации различных действий на сервере, тогда как wget больше подходит для загрузки файлов и краулинга сайтов.

    источник

    Добавить комментарий

    Adblock
    detector