如何在backgrond中启动另一个PHP脚本?
这是一个场景:如何在backgrond中启动另一个PHP脚本?,php,curl,logic,Php,Curl,Logic,这是一个场景: 用户在登录时单击 Login.php运行(完成后,使用header()重定向) updater.php需要在Login.php之后在后台运行 用户可以在Login.php之后使用网站 updater.php需要大约5分钟来完成运行,这就是为什么它与login.php分开,这也是为什么它需要在login.php之后在后台运行,同时用户可以自由使用网站的大部分内容(updater.php完成后的剩余部分)。我不能使用include(),因为这将暂停login.php,并且在upd
- 用户在登录时单击
- Login.php运行(完成后,使用header()重定向)
- updater.php需要在Login.php之后在后台运行
- 用户可以在Login.php之后使用网站
谢谢。如果您不介意执行结果,您可以使用
exec(“nohup-php./update.php>/path/to/save/log 2>/path/to/error\u log&”)
为什么updater.php
需要在login.php
之后运行?为什么login.php
不能只包含相同的功能,或者使用include()
?此外,脚本运行时间不应超过5分钟。这可能比让一个脚本在另一个脚本之后运行更重要。至于实际的应用程序,您可以使用AJAX或cron作业。@为了简单起见,ObsidManager设想登录只是一个简单的select*db,其中user='account'和pass='internal',如果凭据匹配,则创建会话。完成此登录后,更新程序使用api从另一个服务检索大量帐户数据,并将其上传到帐户信息表中。使用webhook会很理想,但其他服务不是我的!现在,假设您有这种情况,而更改updater.php不是解决方案。@jerome使用AJAX比使用CURL有优势吗?AJAX绝对不是解决方案,请参见下面的答案。请原谅我的无知,执行结果是什么意思?您的问题似乎已经得到了很好的解释。您好,这似乎对我不起作用。exec(“Functions/update.php>/dev/null&”)代码>我在浏览器上打开了它,它工作正常。有什么问题吗?