我想知道这两者之间的技术区别是什么:
error_log('test', 3, 'test.txt');
相对
file_put_contents('test.txt', 'test', FILE_APPEND);
然而,它们似乎都花费了相同的时间。
我想知道这两者之间的技术区别是什么:
error_log('test', 3, 'test.txt');
相对
file_put_contents('test.txt', 'test', FILE_APPEND);
然而,它们似乎都花费了相同的时间。
具体而言,文档所说的(file_put_contents和error_logerror_log('test', 3, 'test.txt')
)之间没有区别,因为两者都只会将其附加到文件中。file_put_contents('test.txt', 'test', FILE_APPEND)
函数之间的主要区别在于,它们不仅error_log
可以记录到文件,还可以发送到 PHP 的系统记录器、将错误作为电子邮件发送或将其发送到 SAPI 日志记录处理程序(如果您设置0
了1
或4
.
Usingfile_put_contents
允许指定字符串、数组或流资源,而error_log
只允许指定字符串作为消息。这可能会产生影响,具体取决于您要记录的数据,但是您的示例只是一个字符串,因此它没有任何重要性。
如果像在您的示例中一样,您正在将简单的字符串错误消息写入文件,它们将具有相同的最终结果。尽管如此,我还是建议使用error_log
它,因为它可以让以后更轻松地转换为发送电子邮件,并且函数名称更适合其代码未来维护者的任务。
如果您不打算使用它来编写错误消息(我之所以这么说是因为问题标题中的单词选择 - “当存储数据时......”与“当存储错误时......”),我建议file_put_contents
在上面的段落中使用类似的原因,因为函数名称更适合未来代码维护者的任务。