Curl debug php: PHP — Debugging Curl — Stack Overflow
Содержание
debian — в PHP отсутствуют cURL и XDebug после обновления
спросил
Изменено
4 года, 9 месяцев назад
Просмотрено
517 раз
Я только что обновился до Ubuntu 18.04.1 LTS и пошел проверить свою локальную установку apache2, добавив phpinfo() в индексный файл.
Я не вижу записи для cURL или для XDebug.
Вот что я сделал:
- Опять же, я проверил phpinfo() и не показал никаких параметров curl или xdebug.
- Я перешел к /etc/php/7.1/apache2/php.ini и раскомментировал следующую строку extension=php_curl.dll.
- Затем я перезапустил apache.
- Кроме того, мой phpinfo() показывает загруженный файл конфигурации
/etc/php/7.1/apache2/php.ini, и именно ЭТО я редактировал.
Тем не менее, WordPress по-прежнему сообщает следующее: Неустранимая ошибка PHP:
Вызов неопределенной функции curl_init().
Я думаю, что ДОЛЖЕН редактировать не тот ini-файл.
Есть идеи? Я мертв в воде здесь. 😥
- debian
- php
- curl
Короткий ответ: если вы не нашли расширение/модули curl и/или xdebug после обновления ОС, вам нужно переустановить их.
В дистрибутивах, совместимых с Debian, таких как Ubuntu, команды:
sudo apt-get install php7.1-curl php-xdebug
После установки этих модулей PHP перезапустите Apache.
Пакет: php7.1-curl
Модуль CURL для PHP [по умолчанию]
Этот пакет содержит модуль CURL для PHP.
Xdebug:
Пакет: php-xdebug
Модуль Xdebug
для PHP
Расширение Xdebug помогает отлаживать сценарий, предоставляя много ценной отладочной информации. Отладочная информация, которую может предоставить Xdebug, включает следующее:
- трассировки стека и трассировки функций в сообщениях об ошибках с:
- Отображение полного параметра для определяемых пользователем функций
- имя функции, имя файла и индикация строки
- поддержка функций-членов
- выделение памяти
- защита от бесконечных рекурсий
Xdebug также предоставляет:
- информация профилирования для скриптов PHP
- анализ выполнения скрипта
- возможности интерактивной отладки сценариев с помощью клиента отладки
Что касается вашего редактирования, php_curl.
предназначен для Microsoft Windows, а не для Linux; пожалуйста, прокомментируйте это снова. dll
4
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
Используйте аргументы -v или —trace) – Curl Cookbook
Эти рецепты curl показывают вам, как отлаживать запросы curl, чтобы увидеть, что он отправляет и получает. По умолчанию curl печатает только тело ответа. Чтобы напечатать все сообщение, включая заголовки запроса, информацию о сертификате SSL, заголовки ответа и тело ответа, используйте аргумент командной строки
-v
. Чтобы напечатать шестнадцатеричный дамп всего, используйте --трассировка аргумента
. Чтобы он печатал как заголовки, так и тело ответа, используйте аргумент командной строки -i
.
- Сделать завиток подробным
- Подробная трассировка
- Подробная трассировка с отметками времени
- Включить заголовки ответа в вывод
- Печатать только заголовки ответа
- Печатать только заголовки запроса
- Печатать только код ответа
Сделать Curl подробным
curl -v https://catonmat.net
Этот рецепт использует аргумент -v
, чтобы заставить curl печатать подробную информацию о запросе и ответе. Строки с префиксом >
— это данные, отправленные на сервер, строки с префиксом <
— это данные, полученные от сервера, а строки, начинающиеся с *
, — это разная информация, такая как информация о соединении, информация о подтверждении SSL и информация о протоколе.
Подробная трассировка
curl --trace - https://catonmat.net
В этом рецепте мы используем аргумент --trace -
, чтобы включить полный дамп трассировки всех входящих и исходящих данных. Дамп трассировки печатает шестнадцатеричный дамп всех отправленных и полученных байтов.
Подробная трассировка с отметками времени
curl --trace - --trace-time https://catonmat.net
Этот рецепт добавляет --trace-time
аргумент в curl. Этот аргумент в сочетании с --trace -
заставляет curl печатать подробный журнал трассировки. Вы также можете комбинировать
--trace-time
с -v
, чтобы добавить метки времени к подробным выводам curl.
curl -i https://catonmat.net
По умолчанию curl выводит тело ответа на экран. В этом рецепте используется -i
аргумент, чтобы он также печатал заголовки ответов. Когда этот флаг указан, curl сначала напечатает заголовки ответа, затем пустую строку, а затем тело ответа.
curl -s -o /dev/null -D - https://catonmat.net
Чтобы напечатать только заголовки ответа (и отбросить тело), необходимо использовать вместе три аргумента. Аргумент -s
делает curl бесшумным и скрывает ошибки и индикатор выполнения, затем -o /dev/null
(если вы работаете в Windows, используйте 9009>'
Нет простого способа напечатать только заголовки запроса с помощью curl. Вы должны раскошелиться на внешнюю вспомогательную программу, чтобы сделать это, и использовать кучу параметров командной строки, чтобы отключить весь остальной вывод. Этот рецепт включает подробный вывод с помощью аргумента
-v
, затем заставляет curl молчать с помощью аргумента -s
, затем заставляет curl игнорировать вывод с сервера с помощью аргумента -o /dev/null
, затем заставляет curl перенаправить stderr на stdout через --stderr -
и, наконец, просит grep напечатать все строки, начинающиеся с >
, которые содержат заголовки запроса.
Печатать только код ответа
curl -w '%{код_ответа}' -s -o /dev/null https://catonmat.net
В этом рецепте используется аргумент -w
, который заставляет curl печатать дополнительную информацию после завершения запроса. Дополнительная информация, которую мы просим его напечатать, — это %{response_code}
, который является кодом ответа на запрос. Чтобы заставить curl печатать только код, а не содержимое или другую информацию, мы также используем -s
, чтобы отключить curl, и -o /dev/null
, чтобы игнорировать вывод ответа.