最初,我有NameCheap托管,并使用该网络服务器为我的一些运行了相当长时间的PHP脚本进行开发测试。
PHP脚本有一个while
循环,经过多次,每次都会回显信息。它会在处理页面时回显这些信息。我不需要flush()
或ob_flush()
或对output_buffering
做任何事情。它运作良好。
在当前主机上,每当我尝试运行脚本时,经过一段时间后,我都会收到服务器内部错误。所以我在php.ini文件中提升了所有时间常量,但它确实没有区别。我也关掉了output_buffering。我还查看了大约5个不同的Stack Overflow线程,并使用了关于ob_flush
,flush()
的所有可能解决方案,包括在脚本开头设置ini_set()
来设置时间。
示例:
ini_set('max_execution_time' ,0);
ini_set('set_memory_limit', -1);
while (ob_get_level()) ob_end_clean();
最初,我的PHP脚本可以在Namecheap共享主机上运行数小时,并且它只有90个max_execution_time。它还可以通过显示循环播放的所有回显信息自动工作。
我觉得我无法触及的Apache配置与Namecheap非常降级。或者,我可能只是没有PHP.ini文件甚至可以工作。我不知道。
此外,每次我重新加载页面时,它都会进入服务器内部错误,根本不加载页面,如果它确实加载了页面,我现在已经设置了循环只经过5次,所以我看到循环的输出5次,但它不会像上次一样动态回显整个页面。