我网站(使用Drupal运行)中的![enter image description here](https://istack.dev59.com/ykwtA.webp)
ob_flush
函数执行时间很长(在10-100秒之间),如何找出原因?什么原因导致这么长的时间?请参考以下截图:![enter image description here](https://istack.dev59.com/ykwtA.webp)
ob_flush
函数执行时间很长(在10-100秒之间),如何找出原因?什么原因导致这么长的时间?请参考以下截图:试试这个:
ob_start();
//Your code to generate the output
$result = ob_get_contents(); //save the contents of output buffer to a string
ob_end_clean();
echo $result;
对我来说运行速度很快。
[您可能需要使用Drupal标签标记您的问题,因为这似乎可能是Drupal问题。具体来说,我怀疑当您刷新缓冲区时,您正在写入外部缓冲区,从而触发调用大量挂钩以过滤您刚刚编写的数据。]
我怀疑您的问题是嵌套缓冲区。Drupal非常喜欢缓冲区,并且在各个地方都使用缓冲区。检查以下结果:
echo "<pre>\nBuffering level: ";
. ob_get_level() .
. "\nBuffer status:\n"
. var_dump(ob_get_status(TRUE))
. "\n</pre>";
$data = ob_get_contents(); // Return the contents of the output buffer.
ob_clean(); // Clean (erase) the output buffer.
ob_end(); // Close the buffer.
echo($data); // Output our data - only works if there's no outer buffer!
ob_start(); // Start our buffer again.
设置
output_buffering = Off
在php.ini文件中
使用
<?ob_start();?>
在页面开头处和
<?ob_flush();?>
ob_start()
和ob_flush()
的代码示例? - ualinkerob_list_handlers()
返回一个包含2个值的数组:"默认输出处理程序"。 - user16948