Я использую 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 или журнал ошибок в файле, или вы можете использовать stackify.com/13-ways-to-tail-a-log-file-on-windows-unix для просмотра ошибок в error_log live
xdebug работает только с веб-приложением? Я использую встроенную реакцию для вызова php, поэтому php полностью является серверной частью.
Как запустить серверную часть PHP?
Извините, я не знаю правильных терминов. Мое собственное приложение для реагирования просто вызывает API, например, example.com/get/listing/, то он что-то вернет. Однако во время отладки для API иногда я хочу знать полученные значения $ _GET или $ _POST .. поэтому сейчас я использую error_log
Когда я использую PHP для веб-приложения для создания HTML-кода, я знаю, что могу просто распечатать его в консоли браузера.






Я бы посоветовал записать в файл журнала на вашем 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
@SomeoneSpecial Вы можете использовать print_r($something, true);, это красиво распечатает переменную и вернет ее в виде строки.
спасибо, я добавил fwrite ($ fh, json_encode ($ data, JSON_PRETTY_PRINT)); к коду, и теперь он прекрасно работает. Не идеально для отладки, но для меня достаточно. Благодарность!!!
Это может помочь.
ini_set('display_errors', 1);
так как это покажет ошибки при вызове API. Вы можете проверить ошибки, нажав на сделанный вызов API.
При этом будут отображаться только уведомления об ошибках и предупреждения, но в его вопросе был упомянут переменный дамп.
Используйте XDebug для правильной отладки.