Intereting Posts
Должны ли быть сообщены и исправлены PHP-уведомления? PHP: Как удалить вложенные теги и перенести их не вложенным образом? Как обрабатывать данные «друг друга»? PHP cURL, POST JSON PHP-скрипт возвращает значение null при вставке <a> в базу данных Можете ли вы поместить заполнители в выбранную часть запроса с использованием PDO? Могу ли я высмеять реализацию интерфейса с помощью PHPUnit? Как заставить IIS 7 анализировать js-файл также как файл PHP? Как вы повторяете текущие свойства класса (не унаследованные от родительского или абстрактного класса)? Как вы соответствуете одному из двух слов в регулярном выражении? Drupal 6: Render Views 2 данные в файле tpl страницы Использование API Google Directory для извлечения всех пользователей в домене Регулярное выражение для соответствия ключевому слову, если оно не заключено в фигурные скобки Как получить HTTP_REFERER из Yahoo или Gmail проверка электронной почты, а затем действие сценария для реагирования на sms-сообщение

Журнал ошибок PHP и символы новой строки

Каков параметр конфигурации PHP, который позволяет или предотвращает экранирование строк в отладочном выходе?

На двух разных установках (ноутбук-разработчик с поддержкой MAMP / OSX и dev-сервер, работающий с debian), я вижу разные результаты в журналах ошибок при отладке.

error_log(print_r(array(1,2,4),1)); 

В Debian это отображается в /var/log/apache2/error.log как

 [Thu Jul 30 11:32:34 2009] [error] [client 118.93.246.104] Array\n(\n [0] => 1\n [1] => 2\n [2] => 4\n)\n, referer: http://dev.example.org/ 

В OSX это отображается в / Applications / MAMP / logs / php_error_log as

 [30-Jul-2009 11:34:00] Array ( [0] => 1 [1] => 2 [2] => 4 ) 

Я предпочитаю способ MAMP для отладки (помимо переноса файлов журналов в каталог / Applications).

Благодаря!

Related of "Журнал ошибок PHP и символы новой строки"

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

Детали:

Функция error_log

Директива error_log

Проблема возникает, когда процесс Apache не может записываться в файл error_log, поэтому syslog записывает в файл. Syslog испортил разрывы строк.

Так что просто:

 chmod 777 error.log 

Это должно решить вашу проблему.

Я придумал хорошее решение для этого и просто написал об этом блог, может быть полезно людям: http://www.drcoen.com/2012/05/php-error_log-and-newlines-a-solution/ . TL; DR: напишите файл, который вы создаете в / tmp, напишите функцию, которая записывает вашу отладочную информацию в этот файл и также трассирует там журнал Apache (так что вам не нужно отслеживать 2 файла ошибок).