Pracuję nad kodem, który używa error_log()
do debugowania. Problem polega na tym, że z jakiegoś powodu wszystkie przerwy w linii na wyjściu pojawiają się jako ciągi literalne, więc nie ma rzeczywistego podziału linii (co sprawia, że prawie niemożliwe jest zrozumienie złożonych tablic).
Próbowałem używać zarówno var_export
i print_r
z funkcją error_log
, a obie doprowadziły do tego samego rezultatu: blok tekstu z rozrzuconymi w całym dokumencie \n
. Próbowałem nawet wykonać str_replace
\n
do PHP_EOL
bez powodzenia. Co ja robię źle?PHP error_log wypisywanie wierszy jako literałów " n" na Mac OSX
Aby wyjaśnić: ciągi znaków \n
pojawiają się w przeglądarce protokołów błędów konsoli, TextEdit i terminalu.
EDIT
Chciałem tylko zauważyć wcześniej, że tak, jestem świadomy, że trzeba cudzysłów \n
ciągi dla nich pojawiają się podziały wiersza. Mam jednak do czynienia z wyjściem z print_r
lub var_export
(w celu sprawdzenia tablicy), więc to naprawdę nie pomoże mi (myślę?).
Należy również zauważyć, że dla Apache pisać nowe linie do error.log, będzie musiała uprawnienia do zapisu do tego (jeszcze syslog skończy się na piśmie do error.log zamiast). Trwa naprawa lub nowy plik "php-errors.log", jeśli chcesz zachować format syslog dla błędów Apache (moje preferencje). –