PHP - вывод на серверную консоль

Я использую PHP в качестве серверной части для создания API, и, следовательно, он не поддерживает консольный журнал в браузере.

Однако мне очень трудно отлаживать без консоли, и мне приходится использовать error_log(json_encode($variable)) все время, чтобы писать в журнал ошибок, чтобы увидеть, что возвращается / получается.

Могу ли я «контролировать» API и использовать console.info или что-то подобное, чтобы писать куда-нибудь, где я могу просматривать свой вывод в реальном времени?

Спасибо, @Chris, за то, что ответил на мою просьбу. Поэтому я использую следующие коды, чтобы выполнить простую печать в текстовый файл и использовать tail, чтобы увидеть результат в реальном времени. Работает блестяще.

function mylog($data) {
$myFile = "/home/user/html/log.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, json_encode($data, JSON_PRETTY_PRINT));
fclose($fh);
}

Используйте XDebug для правильной отладки.

Damian Stępień 01.08.2018 13:02

вы можете использовать xdebug или журнал ошибок в файле, или вы можете использовать stackify.com/13-ways-to-tail-a-log-file-on-windows-unix для просмотра ошибок в error_log live

Davit Huroyan 01.08.2018 13:04

xdebug работает только с веб-приложением? Я использую встроенную реакцию для вызова php, поэтому php полностью является серверной частью.

Someone Special 01.08.2018 13:07

Как запустить серверную часть PHP?

Roman Hocke 01.08.2018 13:25

Извините, я не знаю правильных терминов. Мое собственное приложение для реагирования просто вызывает API, например, example.com/get/listing/, то он что-то вернет. Однако во время отладки для API иногда я хочу знать полученные значения $ _GET или $ _POST .. поэтому сейчас я использую error_log

Someone Special 01.08.2018 13:26

Когда я использую PHP для веб-приложения для создания HTML-кода, я знаю, что могу просто распечатать его в консоли браузера.

Someone Special 01.08.2018 13:26
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
682
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я бы посоветовал записать в файл журнала на вашем PHP:

$myFile = "log.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, "write this to my file\n");
fclose($fh);

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

tail -f log.txt

Это сразу же покажет все, что записано в файл.

Можете ли вы посоветовать, как мне добавить "красивый" var_dump, если я буду писать в текстовый файл? Потому что возвращается много Json

Someone Special 01.08.2018 13:12

@SomeoneSpecial Вы можете использовать print_r($something, true);, это красиво распечатает переменную и вернет ее в виде строки.

CodiMech25 01.08.2018 13:24

спасибо, я добавил fwrite ($ fh, json_encode ($ data, JSON_PRETTY_PRINT)); к коду, и теперь он прекрасно работает. Не идеально для отладки, но для меня достаточно. Благодарность!!!

Someone Special 01.08.2018 13:30

Это может помочь.

ini_set('display_errors', 1);

так как это покажет ошибки при вызове API. Вы можете проверить ошибки, нажав на сделанный вызов API.

При этом будут отображаться только уведомления об ошибках и предупреждения, но в его вопросе был упомянут переменный дамп.

CodiMech25 01.08.2018 13:22

Другие вопросы по теме