PHP 取消链接函数和 cron 作业

PHP unlink function and cron job

我正在使用 cron 作业执行 php 文件来发送消息。在我的 php 文件的末尾,该文件将通过 cron 作业命令成为 运行,我将添加 unlink(__FILE__);.

这个取消链接功能是否在发送所有消息后删除当前文件?

我不确定这就是我问的原因,因为发送消息需要一些时间,而且我希望我的文件在发送完所有消息后而不是在发送过程中被删除。

第二;如果发送消息出错怎么办? 如果有任何错误,如何通知我? 因为函数已经删除了 php 文件! 如果有错误,我如何找出错误?

我不知道你是如何发送这些消息的,但如果你的脚本使用同步方式(比如 SMTP 服务器)来发送,因为你的脚本是按顺序执行的,所以 unlink() 调用将是每次之后制作。

对于错误处理,我建议您将它们记录到文件或数据库中。您可以使用 Monolog 等广泛使用的库来轻松完成此操作。

这不是要走的路。基于删除源代码创建功能是您不想走的路。一个混乱,另一个文件可能会被删除,一个没有备份(但我们都有备份,对吧?;))

相反,我建议您只更新数据库。你有你的消息存储。每条消息发送后,您更新数据库并设置 sent=1。下次你 运行 这个脚本时,它应该忽略所有 sent=1 并且现在你不发送重复项。
您现在还可以根据消息检查是否存在错误并将其记录下来。如果一切顺利,您还可以将数据库更新为消息发送的时间。


回答实际问题:是的,应该。这可能是时间或编码错误。这很难调试,因为文件会自行删除 ;)