【问题标题】:Thread safe file writing in PHP用PHP编写线程安全文件
【发布时间】:2016-12-21 21:27:36
【问题描述】:

我需要记录使用我的应用程序的时间和人员。

为此,实际的简单解决方案是联系服务器并写入日志。我有一个 LAMP 服务器托管我的项目网站。我不是 php/web 开发人员。

我怕并发写,如果我的两个客户端同时下载日志页面怎么办? php fopen/fwrite/fclose 方法线程安全吗?

【问题讨论】:

  • 您对在数据库中保存日志有意见吗?
  • 在我的公司,我们保存用户所做的一切。使用数据库信息“您可以使用另一个数据库”创建一个文件。并在每个页面或按钮上使用它
  • @RafaelShkembi:对我来说登录文件会更容易,但如果您认为唯一的线程安全解决方案是登录数据库,那么我将转向数据库解决方案。
  • 您可以尝试 olso 将脚本复制到另一台服务器上,我的意思是制作一个将文件复制到另一台服务器的 cronjob,复制后您可以删除该文件。我相信他最好的解决方案是数据库,这是你的电话:)

标签: php multithreading


【解决方案1】:

您可以围绕日志记录功能锁定日志文件:

flock($fh, LOCK_EX);
fwrite($fh, $message);
flock($fh, LOCK_UN);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-30
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多