我想问是否有人知道一种方法可以延迟 php 脚本,而不会一直占用连接槽。我不完全意识到这一点,但有人告诉我 apache 有连接限制或同时运行的脚本有限制,我记不清了,我的这个脚本需要运行大约 1 到 3 个小时,它并没有真正做任何繁重的事情,它实际上有 90% 的时间都在睡觉。
问问题
140 次
2 回答
1
此外,仅发送 connection: close 标头是不够的,以下是关闭连接的方式:
ignore_user_abort(true);
header("Connection: close", true);
header("Content-Length: 0", true);
ob_end_flush();
flush();
fastcgi_finish_request();
于 2013-05-25T19:54:42.480 回答
1
如果您正在运行脚本并且不期望任何响应,您可以在服务器计算机的终端中运行它,使用php "dir/to/php/script.php"
.
如果脚本的初始化发生在远程,那么您可以让脚本退出,以便脚本继续运行但不会保持连接处于活动状态。header('Connection: Close');
例子:
<?php
echo "The server is now doing some complex actions in the background..."; //even maybe a redirect instead
header('Connection: Close');
file_put_contents(file_get_contents("largest_file_in_the_world.txt"),"/tmp/test.txt");
?>
于 2013-05-25T19:30:38.827 回答