我正在参与一个php程序的开发,我们正在努力提高它的性能,比如:
执行,完成输出给用户,做预定的事情。
这里的目标是向apache、IIS等发送信息。可以将关于全部完成的信息发送到浏览器。因为这个程序的工作方式,它不应该缓存所有的输出,测量它,然后输出,它应该在信息被处理的时候尽快输出信息,所以ob_*函数不是一个确切的选择。
我如何才能做到这一点?我只能在使用输出缓冲时找到一个选项...
注意: curl也不是一个选项。一些本应在其中工作的服务器已将其禁用。对于其他常见的东西,shell_exec()、exec()等也是如此。
发布于 2012-03-20 20:24:32
您确实希望使用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();
?>
https://stackoverflow.com/questions/9794214
复制