我正在参与php程序的开发,我们正在努力提高其性能,例如:
执行,完成输出给用户,做预定的事情。
这里的目标是向apache,IIS等发送信息......说明所有信息都已完成,可以发送到浏览器。因为在这个程序中工作的方式,它应该不缓存所有输出,测量它然后输出,它应该在处理时尽快输出信息,所以ob_ *函数不是一个选项。 / p>
我怎样才能做到这一点?我只能在使用输出缓冲时找到一个选项...
注意:curl也不是一个选项。一些应该在其中工作的服务器将其禁用。 对于其他常见的东西,shell_exec(),exec()等......
答案 0 :(得分:0)
您确实想使用ob_函数。
<?php
set_time_limit(300);
ob_start();
echo "Starting task 1...";
long_task_1();
echo "Task 1 complete".
ob_flush();
flush();
echo "Starting task 2...";
long_task_2();
echo "Task 2 complete".
ob_flush();
flush();
echo "Starting task 3...";
long_task_3();
echo "Task 3 complete".
ob_flush();
flush();
?>