我需要将本地时间信息,异常消息写入php日志文件。我不知道为什么我的格式不正确。我使用的脚本是:
error_log('['.date("F j, Y, g:i a").']'.$msg." <br>", 3, $phperrorPath);
这有两个问题:
如何修改此代码?
答案 0 :(得分:8)
使用date_default_timezone_set
设置当地时间:
date_default_timezone_set('UTC');
将e和O格式参数添加到date
调用将为您提供时区标识符和GMT偏移量:
date("F j, Y, g:i a e O")
在字符串的末尾添加“\ n”:
//I've left in the HTML line break
error_log('['.date("F j, Y, g:i a e O").']'.$msg."<br /> \n", 3, $phperrorPath);
使用“3”作为error_log
的第二个参数时,不会连接行,使用“0”会将输出写入php.ini中指定的默认位置。 “2”不再是一个选项,所以我认为手动连接换行符是要走的路。参见:
http://php.net/manual/en/function.error-log.php
另外,请查看localtime
答案 1 :(得分:1)
对于“2”我怀疑是因为您使用HTML格式化换行符
而不是文件换行符 \ n 。也许这值得一试。
答案 2 :(得分:1)
尝试使用:
date_default_timezone_set('MYT');
这会将剧本的时区设定为马来西亚吉隆坡(这是你个人资料的国家)。
然后使用:
error_log('['.date("F j, Y, g:i a e O").']'.$msg."<br />\r\n",3,$phperrorPath);
我不知道你是否想离开&lt; br /&gt; HTML标签,所以我把它留在那里。