Не установлен 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; Покупка и настройка оборудования и многое другое.

Источник

Установка PHP и модулей на Ubuntu/Debian

Установка PHP 5 как модуля Apache:

Установка PHP 7 как модуля Apache:

Установка PHP 5 как PHP-FPM:

Установка PHP 7 как PHP-FPM

Модули

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

Давайте для примера установим GD для работы с изображениями:

Либо php-fpm, смотря, что используете Вы:

Чтобы посмотреть список модулей php, который прямо сейчас подключен, можно запустить:

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Nginx, Php-Fpm и что это вообще?

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Почему timeout для curl в php необходим

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Угадайте самый медленный фреймворк. И это не Laravel

Есть распространенное мнение, что Laravel почти самый медленный фреймворк, что даже его название нужно читать медленно и только одним пользователем на 1 ядро CPU. Но к счастью, это не так

Curl в PHP

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Вводная статья о том, как использовать сессии в PHP

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

IoT Highload: особенности и подводные камни

Особенности серверных приложений, работающих с сетью IoT-устройств на практике и в теории

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Nginx, Php-Fpm и что это вообще?

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Почему timeout для curl в php необходим

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Угадайте самый медленный фреймворк. И это не Laravel

Есть распространенное мнение, что Laravel почти самый медленный фреймворк, что даже его название нужно читать медленно и только одним пользователем на 1 ядро CPU. Но к счастью, это не так

Curl в PHP

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Вводная статья о том, как использовать сессии в PHP

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

IoT Highload: особенности и подводные камни

Особенности серверных приложений, работающих с сетью IoT-устройств на практике и в теории

Источник

curl — модули PHP не загружаются после установки PHP 7 на мой сервер

Я установил PHP 7 на свой сервер (в результате у меня нет / etc / php5 и /etc/php/7.0). Когда я запускаю свое веб-приложение, я не вижу ни одного из моих предыдущих CURL (или разветвлений).

сначала я получил это сообщение об ошибке:

Сообщение: вызов неопределенной функции curl_init ()

и после установки php7-curl я включаю его — одобрено для функции info () и этот тестовый код:

но при наличии фактического CURL в моем коде я получаю эту ошибку:

Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку
‘/usr/lib/php/20151012/php_curl.dll’ —
/usr/lib/php/20151012/php_curl.dll: не удается открыть файл общего объекта: нет
такой файл или каталог в Unknown в строке 0

РЕДАКТИРОВАТЬ 04.05.2016:

Решение

У меня была именно эта проблема.

Я только что провел последние несколько часов, пытаясь исправить некоторые вещи, и в спешке я по какой-то причине включил эту строку:

Очевидно, что это имеет смысл 0, как кто-то сказал, но сообщение об ошибке странно после того, как вы это сделаете. Бег apt-get dist-upgrade НЕ решил проблему.

Итак, вырвав еще несколько волос и перечитав этот пост 100 раз,
Я только что прокомментировал это обратно

и да, проблема решена.

Так что ОП, должно быть, сделал то, что я сделал … пью пиво, работая

Другие решения

Бег apt-get dist-upgrade исправлены все проблемы 🙂

В моем случае, чтобы заставить работать curl:

Источник

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

Если установочный скрипт выдаёт ошибку: bash: curl: command not found или bash: curl: команда не найдена. Это значит что такой команды нет в вашей системе. Решение простое – установить утилиту curl. Эта утилита для скачивания файлов хоть и не так популярна, как wget, но может предоставить больше возможностей, а также имеет в своём составе библиотеку, которую можно подключить к другим программам.

Мы рассмотрим как установить curl в Ubuntu 20.04. Но инструкция будет актуальна и для более новых или старых версий дистрибутива.

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

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Представим вполне реальную ситуацию. Вы решили установить приложение с помощью скрипта .sh. Для скачивания скрипта предлагают использовать команду curl, она также может оказаться и в самом скрипте. Однако по умолчанию эта утилита не установлена в Ubuntu 20.04, поэтому при попытке запуска скрипта вы увидите ошибку curl: команда не найдена. А если вы попробуете запустить непосредственно саму утилиту, то сообщение будет выглядеть следующим образом: bash: /usr/bin/curl: Нет такого файла или каталога. Для установки curl следует использовать такие команды:

sudo apt install curl

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

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

Эта команда может быть важна, так как программа активно развивается и каждый раз исправляются десятки ошибок и добавляются новые функции. Для того чтобы скачать файл используйте такую команду:

Не установлен php модуль curl. Смотреть фото Не установлен php модуль curl. Смотреть картинку Не установлен php модуль curl. Картинка про Не установлен php модуль curl. Фото Не установлен php модуль curl

О других аргументах и способах их использования можете узнать в нашем материале.

Выводы

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

Описанная ошибка чаще всего встречается только на недавно установленном дистрибутиве. Так как библиотека libcurl используется большим количеством приложений и рано или поздно будет установлена в вашей системе вместе с curl.

Источник

Как заставить 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 С одним из этот сайт:

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

Источник

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

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