【问题标题】:Create a log file in PHP [duplicate]在 PHP 中创建一个日志文件 [重复]
【发布时间】:2019-04-02 11:27:50
【问题描述】:


因此,我在 PHP 中有一个注册用户和项目的应用程序,然后我可以“给”一个项目给用户,我希望它创建一个记录项目“生命周期”的日志文件。 例如:
我创建了一个项目并将该项目提供给用户“迈克”,几周后用户“迈克”在项目损坏之前归还了该项目,我希望所有这些都记录在日志文件中。
任何提示?谢谢!

【问题讨论】:

  • 这是一个非常笼统的设计问题,没有真正明确的问题。但基本上你想要一个以该项目命名的日志文件,然后在操作时附加到它。如果您的系统存在很长时间并且您不进行清理,这可能会创建大量文件。
  • 发布的问题似乎根本没有包含any attempt 来解决问题。 StackOverflow 期待您 try to solve your own problem first,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您尝试过的内容,以说明您在minimal reproducible example 中遇到的特定问题。欲了解更多信息,请参阅How to Ask 并拨打tour
  • 也许在这里记录不是正确的选择。也许在用户和项目之间具有适当关系的数据库可能会更好
  • @apokryfos 它有,user.id 是项目和用户之间的 FK,但我希望将所有记录保存在日志文件中

标签: php mysql logfile


【解决方案1】:

MySQL 提供了very efficient ARCHIVE storage engine,适用于大量写入-不经常使用的模式。

如果您希望将日志数据保存在 DBMS 中(备份等),这是一个不错的选择。

当您的 Web 应用程序在多台服务器上运行时,它也是日志数据的不错选择:所有条目都放在一个位置,您不必怀疑特定日志条目存在于哪台机器上。

【讨论】:

    【解决方案2】:
    $fp = fopen('logfile.txt', 'a');
    fwrite($fp, date("Your date format").'Item xy passed from User Mike to User Alice');
    fclose($fp);
    

    a 表示打开文件并指向末尾(典型用于日志文件)。然后您只需打印一个时间戳并写入哪个项目从哪个用户传递给哪个用户,然后再次关闭文件。 只需在您的实际代码之后执行此操作即可。

    【讨论】:

    • 但是如何存储该项目的旧所有者?因为我需要the item $item was givven to $namethe item $item was returned by $name because $reason 之类的东西
    猜你喜欢
    • 2013-08-19
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 2012-12-16
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    相关资源
    最近更新 更多