其实对于标题所说“如何在浏览器中运行PHP程序”的说法并不是很准确,因为我们知道PHP并不是在浏览器上运行,而是在服务器的环境中运行,我们在浏览器中访问服务器上的php路径,得到的是PHP在服务器上运行之后输出的结果。
我想表达的其实是运行类似于爬虫或者数据清洗这种需要很长时间的php脚本如何在浏览器中运行,列一下我所考虑的问题和解决代码:

  1. 设置程序执行时间的函数
set_time_limit(0);
  1. 强制每当有输出的时候,即可输出发送到浏览器
ob_end_clean();
ob_implicit_flush();//强制每当有输出的时候,即可输出发送到浏览器
header('X-Accel-Buffering: no');//apache服务器不加这句也能用

这里是把代码运行的结果实时输出到浏览器,而不是运行完后再输出,这样一方面是可以看到代码运行到哪里,另一方面可以避免长时间浏览器没有响应而导致的“504 Gateway Time-out”。

  1. 避免输出过于混乱可以在需要的时候输出js代码对浏览器进行清屏。
echo '<script>document.body.innerHTML="";</script>';