Расширение php curl необходимо установить и включить

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

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

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

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

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

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

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

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

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

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

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

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

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

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

Вуаля, секция 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 и кому нужно «в системную переменную PATH включить каталог с PHP», перейдите к уже названной выше инструкции http://php.net/manual/ru/faq.installation.php#faq.installation.addtopath. Там всё просто, а, главное, человеческим языком написано, что нужно сделать.

1 октября запускаем «Paranoid Rebirth» — курс по защите приватности от команды Кодебай

Установка операционной системы; Настройка хоста; Настройка сети; Программы для безопасного общения; Работа с VPS сервером; Настройка виртуальных машин VBOX, QeMU; Покупка и настройка оборудования и многое другое.

Источник

Как заставить CURL работать с PHP на Windows? (WAMP)

обновление: проблема, похоже, была повреждена DLL где-то в моей установке PHP или, возможно, ошибка в PHP 5.2.9 на Win2k. Я загрузил дистрибутив Windows (только двоичные файлы) PHP 5.2.10 из php.net и добыл это для моего c:PHP справочник. После этого все работало нормально.

обновление 2: я уничтожил все, что я пробовал ранее (все из маркированного списка ниже),за исключением что я оставил » extension=php_curl.dll » uncommented в моем php.ini-файл. Оказывается, это все, что вам нужно сделать при правильной установке.

я пытаюсь заставить CURL работать над установкой Windows PHP (версия 5.2.9-2), и я нахожусь в конце. Я нашел страница установки PHP CURL, это так вопрос какие ссылки на этой странице и это так вопрос. Я пробовал большинство предложений на всех этих страницах, но Я все еще получаю ошибку. Вот моя очень простая тестовая страница:

критическая ошибка: вызов неопределенной функции curl_init() в C:ApacheRootcurltest.в PHP on line 2

в моем журнале ошибок Apache, я получаю это каждый раз, когда сервер начинает:

я сделал следующий:

у меня также перезагрузил машину (несколько раз, на самом деле. ).

7 ответов

вам не нужно перезагружать компьютер, просто перезапустите apache, и модуль php прочитает новый ini.
Вы изменили правильный php.Ини? В случае сомнений

есть что-то в ошибке.журнал apache, который указывает, что что-то пошло не так При загрузке php и php_curl.dll файлы?

вы запустили apache как службу win32? Если вы попытаетесь запустить его как консольное приложение. Сообщение об ошибке появится на консоли тогда. Или запустите его как сервис и посмотрите на ошибку.файл журнала и журнал событий windows (запуск, запуск, eventvwr.msc /s ).

edit:
«Указанная процедура не найдена»
Вам нужна dll, совместимая с вашей версией php и сборкой. Что именно вы установили и где вы это взяли?

это, надеюсь, решит проблему.

* EDIT: сделайте то же самое @ C:\Path\To\WAMP\bin\php\PHPVersion\

Это то, что сработало для меня

«кажется, где-то есть ошибка. Если вы испытываете это на 64-битном Win 7, попробуйте установить Apache addon версии 2.2.9 и php addon версии 5.3.1 и переключиться на WAMP, а затем активировать расширение CURL. Это сработало для меня.»

это исправило его для меня:

остановить сервер WAMP от запуска

извлеките файл ‘ php_curl.в DLL’.

на локальном компьютере перейдите к (или где находится установка WAMP) c:\wamp\bin\php\php5.3.13\ext

переименовать php_curl.dll для php_curl.файл DLL.старый (или что вы выбираете), а затем скопируйте новый файл в вышеуказанный каталог.

перезапустить сервер WAMP

все должно работать нормально теперь.

У меня была такая же проблема с php-5.5.26-Win32-VC11-x64 (в Windows), и я попробовал все, что здесь перечислено, без везения. Наконец, я получил его работу, добавив каталог установки PHP В Windows Path.

Fix: мне не нужно было загружать любой другой php_curl.dll-файл и не смог найти его для PHP 5.6 в любом случае. Наконец, удалось скопировать эти три файла в папку Apache24\bin, а затем перезапустить Апач:

ssleay32.файл DLL Копирование их в System или System32 не требовалось.

Если проблема сохраняется после раскомментируйте модуль с версиями PHP.ini-файлы (о которых люди уже говорят и которые находятся в папке apache и папке php) и даже после того, как вы проверите, что у вас есть php_curl.dll * * at

ВЫ ДОЛЖНЫ ПОПЫТАТЬСЯ ЗАМЕНИТЬ ОРИГИНАЛЬНУЮ DLL, КОТОРАЯ ПОСТАВЛЯЕТСЯ С WAMPSERVER С одним из этот сайт:

моя проблема была там! Надеюсь, это поможет.

Источник

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

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

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

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

Что такое 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

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php 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 и константах к ним можете посмотреть на официальном сайте PHP — php.net

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

Источник

Установка расширения curl на php

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

выпадает список, смотрю есть ли мой(php5-curl) в нем.
смотрю есть, пишу:

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

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

2 ответа 2

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

Когда я отписывал что идет настройка «Настраивается пакет ttf-mscorefonts-installer» и «висит» это окно, там была кнопка «Ok» которая была неактивной и которая не нажималась. Я думал что это нужно просто обождать.

Оказалось что нужно было перейти на эту кнопку из клавиатуры «пробелом» и нажать окей. После этого установка заняла минуту от силы.

Расширение php curl необходимо установить и включить. Смотреть фото Расширение php curl необходимо установить и включить. Смотреть картинку Расширение php curl необходимо установить и включить. Картинка про Расширение php curl необходимо установить и включить. Фото Расширение php curl необходимо установить и включить

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php ubuntu apache или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40238

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

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

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

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

возвращает: **Call to undefined function curl_version() in C:Program FilesApache Software FoundationApache2.2htdocstesting.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 Я понятия не имею, почему это не работает. даже я следую за каждым шагом для настройки вверх. 🙁

12 ответов

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

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

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

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

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

при необходимости выберите операционную систему Windows. Заканчивать.

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

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

тестирование curl

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

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

Примечание: Вы также можете напрямую скопировать завиток.exe файл любой существующий путь в вашем пути

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

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

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

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

наконец я нашел эту записку на php.net:

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

недавно я установил 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:

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *