PHP-对于一个PHP 请求,我希望在echo完成之后再运行其他程序,可以吗?

WP主题讨论 WP主题讨论 主题:1013 回复:2239

PHP-对于一个PHP 请求,我希望在echo完成之后再运行其他程序,可以吗?

灵芸 发布于 2017-03-10 字数 113 浏览 1270 回复 4

说起很简单,其实就是希望首先echo给用户操作正确的提示,然后再运行发送邮件的程序(需要2到3秒),怎么实现呢?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(4

甜柠檬 2017-07-27 4 楼

我想到一个笨办法,就是在请求后跳转到a.php,里面echo '操作正确', 并且设置请求头跳转到b.php,然后在b.php处理发送邮件,这样用户首先会看到a.php的提示,同时会继续请求b.php,应该满足了你的要求了

虐人心 2017-05-16 3 楼

如果一定要保证收到邮件,用队列是正解
先发邮件,再显示信息

泛泛之交 2017-04-08 2 楼

echo "操作正确<br />";
//暂停 2 秒
sleep(2);
//发送邮件
......

想挽留 2017-03-24 1 楼

可以考虑fastcgi_finish_request(), 当然只有php-fpm下有效.
可以在脚本output之后继续工作, 当然, 时间最好不要太久......
补充说明, fastcgi_finish_request()之后和客户端的连接实际已经断开, 所以之后不会有任何输出.