Перестал работать curl php

PHP CURL вдруг не работает без причины

Но это не имеет никакого смысла, потому что это работало ранее, и единственное, что я изменил, было что-то на экране входа в систему (только PHP) и часовой пояс на сервере по умолчанию на «Европа / Берлин» с

Я уже перезапустил apache2, перезагрузил сервер, проверил файл php.ini и мой phpinfo, все без ошибок и изменений, но curl просто не будет работать. Я пытался свернуть другие хосты и localhost, но ничего не работает. Я также проверил / var / mail / root, ошибок нет.

Немного информации на мой сервер

Это код cURL, который я использую

3 ответа

Спасибо всем за помощь, но я нашел ошибку. Проблема заключалась в следующем:

Если да, перейдите на /usr/local/lib и удалите обе libcurl ссылки / файлы. Это решило проблему для меня. После этого просто перезапустите apache2, и он должен снова заработать.

Обратите внимание, что это решило проблему только для меня, и это не глобальная проблема. Так что будьте в курсе того, что вы удаляете на своем сервере. Всегда делайте резервную копию!

Я узнал, что по какой-то причине мой сервер обновился с PHP 7.3 до PHP 7.4. Я фактически понизил до 7.3, потому что тот, кто скомпилировал эту копию 7.4, испортил компиляцию до такой степени, что любому здравомыслящему человеку было бы неловко выходить на национальное телевидение без штанов. Перезагрузка сервера не требуется.

Я поймал проблему, потому что я реализовал обнаружение через function_exists() для некоторых важных функций PHP после того, как я обнаружил эту абсолютно ужасную копию PHP.

Поэтому убедитесь, что вы используете несколько версий PHP, чтобы ваш сервер не решил вслепую обновиться до более новой и неполной (скомпилированной) версии.

Одна вещь, которая может сделать проблему

curl_setopt($ch, CURLOPT_POST, count($params));

Попробуйте определить так:

curl_setopt($ch, CURLOPT_POST, true);

Вот одна настройка, которая прекрасно работает для меня:

Но обратите внимание: CURLOPT_HTTPHEADER в этом примере настроен для принятия JSON.

Также http_build_query может исправить некоторые проблемы с анализом в ваших данных. Не важно использовать, но может помочь.

Источник

Решение проблемы с работой модуля 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 не загружен:

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

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

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

Вуаля, секция 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?

string(1250) «HTTP/1.1 100 Continue

HTTP/1.1 302 Found
Cache-Control: private, no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Content-Type: text/plain; charset=utf-8
Date: Mon, 25 Sep 2017 07:56:52 GMT
Location: https://peek-cloppenburg.at/myaccount/
Set-Cookie: did=s%3ASPbkJ0vYD54giVFaO4BJ3V2MlVEweFN4.3GdSOWSBy8lgNi%2F86fp1LsDFVZ1RdIIrEKP2HvBtrMM; Max-Age=94608000; Domain=.peek-cloppenburg.at; Path=/; Expires=Thu, 24 Sep 2020 07:56:52 GMT; Secure
Vary: User-Agent, Accept, Accept-Encoding
X-Content-Type-Options: nosniff
x-request-id: e6c38de3-6bdd-45cd-bcd5-dcec76e50f2e
X-XSS-Protection: 1; mode=block
Content-Length: 60
Connection: keep-alive
Set-Cookie: visid_incap_753894=BrccN5aESViJiMVck3oh+MK2yFkAAAAAQUIPAAAAAAAmF6l21PqCtLNLV7Zh3EXC; expires=Mon, 24 Sep 2018 14:48:23 GMT; path=/; Domain=.peek-cloppenburg.at
Set-Cookie: nlbi_753894=4MCJRROblklNOncEtErIoQAAAAAXTJ6UfLbgFycyWeuQ0jpS; path=/; Domain=.peek-cloppenburg.at
Set-Cookie: incap_ses_800_753894=ZuNdQsceikE6xTlGxSsaC8O2yFkAAAAAT4xzB85uMYfe3HxbOLKgJw==; path=/; Domain=.peek-cloppenburg.at
X-Iinfo: 9-11749772-11749775 NNNN CT(70 145 0) RT(1506326211175 57) q(0 0 2 0) r(3 3) U6
X-CDN: Incapsula

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

HTTP/1.1 301 Moved Permanently
Location: https://www.peek-cloppenburg.at/myaccount/
Content-Length: 0
Connection: close

Что означает. что все прошло неуспешно, он редиректит меня на страницу авторизации.

Мне не понятно, почему так просиходит и что я делаю не так.

Также я пробовала все заголовки поделить на массив кук и массив всего остального и отправить таким образом. Но ничего не работает.

Пожалуйста, объясните мне что не так. Что я не правильно делаю?
Как авторизоваться и выполнять действия в личном кабинете сата через cURL?

Источник

Не работает curl

php.ini у меня один, это 100%. все остальные расширения включал точно так же без проблем, все они лежат в одной папке и включаются в одном и том же php.ini. если у кого есть какие идеи, делитесь не стесняйтесь, буду благодаренПерестал работать curl php. Смотреть фото Перестал работать curl php. Смотреть картинку Перестал работать curl php. Картинка про Перестал работать curl php. Фото Перестал работать curl php

версия apache 2.2, PHP 5.3, сервер на windows xp.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Не работает CURL
Помогите, я уже задолбался. У меня есть хостинг с поддержкой PHP. Все поддерживается, все хорошо.

Curl не работает
Добрый день.Хочу написать форму авторизации свою,через свой сайт,чтобы пользователь вводил данные и.

CURL не работает скрипт
Взял из примера скрипт проверки доступности домена. Пишу на Linux’e предварительно установил.

Попробуй в php.ini написать так

я уже это сделал пару дней назад, теперь вместо
PHP Warning: PHP Startup: Unable to load dynamic library ‘c:/php/ext\\php_curl.dll’ пишет:
PHP Warning: PHP Startup: Unable to load dynamic library ‘c:/php/ext/php_curl.dll’

но это никак не повлияло. все dll отлично определяются даже с таким путём: ‘c:/php/ext\\php_curl.dll’

Добавлено через 14 часов 37 минут
попробовал раскомментировать все расширения, чисто ради интереса. оказалось, что около половины не загрузились. но ошибка другая. с такой же ошибкой что и curl не загрузился только php_openssl.dll. может они как-то связаны? ошибка у них одна и та же: \xcf\xee\xef\xfb\xf2\xea\xe0 \xee\xe1\xf0\xe0\xf9\xe5\xed\xe8\xff \xea \xed\xe5\xe2\xe5\xf0\xed\xee\xec\xf3 \xe0\xe4\xf0\xe5\xf1\xf3.\r\n in Unknown on line 0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Я не понял, они на работающем сервере есть в каталогах ОС? Если нет, то почему такой же сервер не хочет без них работать? У меня тоже такая ошибка, проверил и закомментированную строку, и файлы эти в папке php.

Я нашел элегантнее решение. Нужно php_curl.dll из папки /ext скопировать в корневую папку php. Перестал работать curl php. Смотреть фото Перестал работать curl php. Смотреть картинку Перестал работать curl php. Картинка про Перестал работать curl php. Фото Перестал работать curl php

Добавлено через 7 минут
Мне помогла манипуляция с libssh2.dll от UchihaSV и php_curl.dll из папки /ext скопировать в корневую папку php. Перестал работать curl php. Смотреть фото Перестал работать curl php. Смотреть картинку Перестал работать curl php. Картинка про Перестал работать curl php. Фото Перестал работать curl php

Добавлено через 29 секунд
В моем случае это был достаточный и необходимый минимум.

Из последнего, что менял, помню добавлялся новый виртуальный хост в httpd.conf и эксперементировал с директивой precision.. где чего накосячил не пойму.. проверка синтаксиса не даёт никаких ошибок. Сам php.exe в режиме CLI вроде как в php.ini модуль CURL видит:

В списке «curl» присутствует. Если закомментировать в php.ini строку «extension=php_curl.dll», то соответственно пропадает.

В переменной PATH путь к каталогу где лежит php.exe есть.

Кто-нибудь может сделать какое-нибудь предположение в чём дело на основе упомянутых данных?

Ура товарищи! Разобрался!

Как всегда причиной сбоя оказалась банальная невнимательность. Вот какая версия событий. Давным давно поставил себе несколько версий «D:\server\php». Последняя версия модуля php расположилась в каталоге «D:\server\php56», а вот старый каталог сохранился (так на всякий случай, ну вдруг какой баг в новой версии). Вот так он и доживал до текущего времени.

Недавно решил почистить сервер и поудалять ненужный хлам. Старый каталог «D:\server\php» был удалён. Однако поневнимательности в переменной Windows PATH так и весела «D:\server\php».. видимо apache питался старой php_curl.dll

Исправил «D:\server\php» на «D:\server\php56» и всё заработало как прежде

Источник

Перестал работать curl php

PHP поддерживает libcurl, библиотеку, созданную Daniel»ом Stenberg»ом, которая даёт возможность соединяться с серверами различных типов и по разным протоколам.
libcurl в настоящее время поддерживает протоколы http, https, ftp, gopher, telnet, dict, file и ldap.
libcurl также поддерживает сертификаты HTTPS, HTTP POST, HTTP PUT, загрузку по FTP (это можно сделать также РНР-расширением ftp), загрузку на основе форм HTTP, прокси, куки и аутентификацию user+password.

Эти функции были введены в PHP 4.0.2.

curl_init

Описание

resource curl_init([string url])

Функция curl_init() инициализирует новую сессию и возвратит CURL-дескриптор для использования в функциях curl_setopt(), curl_exec() и curl_close(). Если необязательный параметр url предоставлен, то опция CURLOPT_URL получит значение этого параметра. Вы можете вручную устанавливать его с помощью функции curl_setopt().

curl_setopt

Описание

bool curl_setopt (resource ch, string option, mixed value)

Функция curl_setopt() устанавливает опции для CURL-сессии, идентифицируемой параметром ch. Параметр option является опцией, которую вы хотите установить, а value это значение опции option.

Параметр value должен быть long для следующих опций (специфицированных параметром option):

Параметр value должен быть строкой для следующих значений параметра option:

Следующие опции ожидают дескриптора файла, который получается с помощью функции fopen():

Параметр value должен быть функцией следующего вида long write_callback (resource ch, string data) для следующих значений параметра option:

Параметр value должен быть функцией следующего вида string read_callback (resource ch, resource fd, long length)<> для следующих значений параметра option:

Источник

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

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