PHP多实例单个日志文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP多实例单个日志文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 PHP新手,所以我想知道是否可以向我解释一下.

我正在尝试编写一个将附加到日志文件的类.我编写了这个类,以便资本身在LOGger类中是静态的.这对我来说非常适合我测试,因为我可以让多个类实例一个Logger对象但是所有人都将共享相同的静态资源来写入该文件.

也就是说,我现在面临的问题是PHP的多个实例(多个用户加载我的页面),更具体地说:并发.

问题:

>当我的网站遇到使用记录器的并发PHP实例时,他们是否会争取访问此文件
>我在ubUNTU,但这会在Windows中产生影响吗?
>在我的记录器文件中,我检查每X行添加的行数以查看文件的大小,如果大小大于Y,我关闭文件并“旋转”文件(mylog.log2变为mylog.log3,mylog.log1变为mylog.log2,mylog.log变为mylog.log1)并创建一个全新的mylog.log文件.如果多个实例正在写它,这会引起关注吗?如果是这样,怎么能正确处理?

抱歉新问题……

解决方法

只要您让记录器以附加模式打开文件(例如foPEn(“my.log”,“a”)或类似文件),每个人都应该能够在不丢失数据的情况下写入文件(操作系统会照顾确保一切都被添加而不覆盖).但是,不保证跨实例的文件写入顺序 – 例如你可能会得到散布的日志条目.

例如,如果实例A按顺序写入行a,b,c,而实例B写入行1,2和3,则可能会得到以下结果:

1
a
b
2
c
3

或任何其他交错.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP多实例单个日志文件全部内容,希望文章能够帮你解决PHP多实例单个日志文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。