如何在backgrond中启动另一个PHP脚本?

时间:2018-03-02 00:59:19

标签: php curl logic

这是情景:

  • 用户点击登录
  • Login.php运行(完成后,使用header()重定向)
  • updater.php需要在Login.php
  • 之后在后台运行
  • 用户可以在Login.php
  • 之后使用网站

updater.php需要大约5分钟才能完成运行,这就是它与login.php分离的原因,这也是为什么它需要在login.php之后在后台运行,同时用户可以自由使用网站的一部分(updater.php完成后的剩余部分)。我不能使用include(),因为这会阻止login.php,并且不会重新定向用户,直到updater.php完成。我在阅读之前阅读了有关使用Header()但似乎有时候,它不会运行完整的updater.php脚本(有时在停止之前只有40%或50%)。

我想我可以使用CURL来激活脚本,而不会影响login.php的加载时间?

处理此问题的最佳方法是什么? 如果有什么事情没有意义,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果你不介意执行结果,你可以使用
exec("nohup php ./update.php >>/path/to/save/log 2>>/path/to/error_log &")