2016-01-03 4 views
-2

Запуск PHP 7.0.1 У меня возникла проблема, я использую error_log('....'.PHP_EOL.'...');, но когда я смотрю файл журнала, я получаю дословный \n в выводе.PHP error_log ignoring newline

error_log настроен для использования syslog и заканчивается apache error_log. Это система CentOS 7.

Обход syslog не является вариантом, поскольку это исключает возможность использования пересылки syslog на центральный сервер журнала.

+0

Вы настаиваете на использовании syslog? Если вы определяете файл в php.ini, вы можете избежать этого. http://stackoverflow.com/questions/1203664/php-error-log-and-newline-chars –

+0

syslog-пересылка - это объект, который мне волнует, да, да. –

+0

В одной запятой отсутствует переменная интерполяция. Вы должны использовать двойные кавычки. См. Http://stackoverflow.com/questions/1402566/what-is-the-difference-between-and-in-php также см .: http://docs.php.net/manual/en/language.types. .string.php –

ответ

-1

Если вы беспокоитесь о совместимости кросс-os, просто используйте «\ r \ n». Кажется, это лучший выбор примерно каждый раз ...

Также помните, что \ n в одинарных кавычках ('\ n') действительно распечатает \ n verbatim. двойные кавычки («\ n») доставят вам то, что вы хотите.

+1

Проблема заключается в syslog, который не поддерживает многострочные сообщения. –

+0

Извините, но это не относится к этому вопросу. –

+0

@MichaelBerkowski ahhh - я пропустил эту часть. –