PHP:如何停止ignore_user_abort,这是长期运行程序的一个好解决方案吗

PHP:如何停止ignore_user_abort,这是长期运行程序的一个好解决方案吗,php,Php,假设我有一个发送电子邮件的程序,它需要运行大约7个小时。但是 我7个小时都不能打开浏览器 除了克朗约伯 ignore_user_abort()这是一个解决方案吗 当所有电子邮件都已发送且程序已完成循环时,脚本是否会停止 或者它会继续消耗服务器内存 有人说你可能需要在程序末尾添加一些输出,以避免程序永远运行 有些人还说,echo一个小字符串不会停止脚本,但必须使用ob_flush,有这样的例子吗?你不希望在你的机器上运行一个7小时的PHP进程。它可能会到处泄漏内存。将发送的电子邮件分成几部分,然后

假设我有一个发送电子邮件的程序,它需要运行大约7个小时。但是 我7个小时都不能打开浏览器

除了克朗约伯

ignore_user_abort()这是一个解决方案吗

当所有电子邮件都已发送且程序已完成循环时,脚本是否会停止

或者它会继续消耗服务器内存

有人说你可能需要在程序末尾添加一些输出,以避免程序永远运行


有些人还说,echo一个小字符串不会停止脚本,但必须使用ob_flush,有这样的例子吗?

你不希望在你的机器上运行一个7小时的PHP进程。它可能会到处泄漏内存。将发送的电子邮件分成几部分,然后/或查看


另外,
ignore\u user\u abort
仅适用于PHP CLI。

循环后,无论
ignore\u user\u abort
是否设置为true,脚本都将退出


如果你仔细设计脚本,你应该不会有任何内存泄漏问题。

事实上,我每天发送10封电子邮件,睡眠30秒,如果客户端想发送10000封电子邮件,这意味着需要运行7小时。不管怎样,对于gearman来说,这是mu-til流程的解决方案吗?@未知两种方法都使用不同的流程发送电子邮件。正如我所说,您希望异步执行。当脚本被触发时,它将仅分叉邮件发送进程,然后结束,而邮件发送进程将自行运行。
ignore\u user\u abort
不仅仅适用于CLI。如果设置为true,则意味着即使与客户端的连接被终止,PHP也应该完成请求。Gordon,无论何时PHP脚本正在运行,ignore_user_abort都会工作。好吧,我想我误解了手册中把PHP作为命令行脚本运行时的用法。谢谢你指出这一点。