如何在没有 AJAX 的情况下重新启动 PHP 脚本


How to restart a PHP script without AJAX

我有一个自动电子邮件应用程序,它从CSV文件导入联系人,并通过AJAX将其解析为PHP脚本,以块为单位发送电子邮件,以解决无法解决的PHP超时问题。

不幸的是,这种方法不是 100% 可靠的,我想创建一个新的应用程序,它使用 mySQL 联系人表并取消通过 AJAX 解析数据。

因此,假设我有一个包含 500 个联系人的表,我希望 PHP 脚本处理它,但它一次只能处理 20 个联系人,然后您必须关闭并重新启动脚本由于超时。如何在不通过 AJAX 调用脚本的情况下自动重新启动脚本?

如果问题是 php 超时,你可以让 php 脚本在完成后再次调用自己,通过 $_GET、$_POST 或其他参数传递一些参数,以指示它应该在下一次运行时从哪里开始。在您描述的情况下,它将重新加载脚本 500/20 = 25 次。每一步都叫另一个右边,直到什么都没有了。

使用 mysql 时,php 会等待它完成查询。因此,您可以从数据库中读取数据,提取到数组中,对其进行修改,在数据库上写回脚本,并使用指示下一步应从何处开始和结束的参数重新加载脚本。