Мне нужно написать локальную информацию о времени, сообщение об ошибке в файл журнала php. Я не знаю, почему я не могу получить формат правильно. Сценарий, который я использую, таков:
error_log('['.date("F j, Y, g:ia").']'.$msg." <br>", 3, $phperrorPath);
Есть две проблемы:
Как изменить этот код?
Установите свое местное время с помощью date_default_timezone_set
:
date_default_timezone_set('UTC');
Добавление параметров формата e и O к вызову date
даст вам идентификатор часового пояса и смещение по часовой стрелке:
date("F j, Y, g:iae O")
Добавьте «\ n» в конец строки:
//I've left in the HTML line break error_log('['.date("F j, Y, g:iae O").']'.$msg."<br /> \n", 3, $phperrorPath);
Строки не будут объединены при использовании «3» в качестве второго аргумента error_log
, а использование «0» будет записывать вывод в местоположение по умолчанию, указанное в php.ini. «2» больше не вариант, поэтому я думаю, что ручное объединение разрыва строки – это путь. Видеть:
http://php.net/manual/en/function.error-log.php
Кроме того, взгляните на местное время
Что касается «2», я подозреваю, что это потому, что вы используете разрыв строки форматирования HTML
вместо разрыва строки файла \ n . Может быть, стоит попробовать.
Попробуйте использовать:
date_default_timezone_set('MYT');
Это установит часовой пояс сценария в Куала-Лумпур, Малайзия (это страна вашего профиля).
Затем используйте:
error_log('['.date("F j, Y, g:iae O").']'.$msg."<br />\r\n",3,$phperrorPath);
Я не знаю, хотите ли вы оставить там тег <br /> HTML, поэтому я оставил его там.