PHP error_log выводит разрывы строк в виде буквенных строк "\ n" в Mac OSX - PullRequest
16 голосов
/ 30 ноября 2011

Я работаю над кодом, который использует error_log() для отладки.Проблема заключается в том, что по какой-то причине все разрывы строк в выходных данных отображаются в виде буквенных \n строк, поэтому фактический разрыв строк отсутствует (что делает почти невозможным понимание сложных массивов).
Я попытался использовать оба var_export и print_r с функцией error_log, и оба привели к одному и тому же результату: блок текста с \n разбросан по всему.Я даже пытался сделать str_replace \n до PHP_EOL безуспешно.Что я делаю не так?

Чтобы уточнить: строки \n отображаются в консоли просмотра журнала ошибок, TextEdit и в терминале.

EDIT

Просто хотел заранее отметить, что да, я знаю, что вам нужно заключить в кавычки строки \n, чтобы они отображались как разрывы строк.Тем не менее, я имею дело с выводом из print_r или var_export (для проверки массива), так что это не очень помогает мне (я думаю?).

Ответы [ 2 ]

34 голосов
/ 18 июня 2012

В качестве альтернативы вы можете обработать / заменить '\ n' через sed, чтобы они отображались как новые строки в консоли:

Linux

$ tail -f error_log | sed "s/\\\n/\\n/g"

Mac OS X

# WARNING - don't just copy+paste (see comment below)
$ tail -f error_log | sed "s/\\\n/^M^L/g"

Примечание. В Mac OS X конец строки равен CRLF (перевод строки при возврате каретки), когда в системе LINUX это толькоLF (перевод строки)

Примечание 2. В Mac OS X для вывода ^M в Терминале нажмите Control+V Control+M, для вывода ^L, нажмите Control+V Control+L

7 голосов
/ 30 ноября 2011

Видимо, эта проблема не зависит от вашей операционной системы.Смотрите этот вопрос: Журнал ошибок PHP и символы новой строки

... вы сможете изменить директиву error_log в вашем php.ini в Debian, чтобы она указывала на файл.Если это не определено, он будет проходить через системный журнал, который не поддерживает несколько строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...