gpt4 book ai didi

php - 在执行脚本之前尝试重定向用户是行不通的

转载 作者:可可西里 更新时间:2023-11-01 00:38:59 25 4
gpt4 key购买 nike

在用户提交表单后我有一个长时间运行的脚本,我试图在实际脚本开始执行之前重定向它们

我尝试在此处实现已接受的答案 How to cause a redirect to occur before php script finishes?

但我认为这个解决方案已经过时了,因为它什么都不做

这是提交表单后脚本顶部的代码

set_time_limit(0);
header ( 'Connection: close' );
ob_start ();
header ( 'Content-Length: 0' );
header("Location: www.google.com");
ob_end_flush ();
flush ();
ignore_user_abort(true);

预期结果:我的预期结果是用户点击提交按钮,他们被重定向到 google.com,同时脚本将继续在我的服务器上执行

实际结果:实际发生的是用户只是坐在页面上直到脚本完成执行

最佳答案

最安全的方法是使用 PHP 启动外部应用程序(可能是另一个 php 脚本,借助 php 可执行文件)exec从你的脚本。您可以使用 exec($cmd . ">/dev/null &"); 进行后台执行。

发送重定向后,连接可能会关闭。 Web 服务器可能会终止您正在执行的 PHP 脚本,例如 nginx 不支持“后台”命令。

关于php - 在执行脚本之前尝试重定向用户是行不通的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56570990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com