Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP脚本不回显';正在实时刷新日志-正在我的另一台服务器上运行_Php - Fatal编程技术网

PHP脚本不回显';正在实时刷新日志-正在我的另一台服务器上运行

PHP脚本不回显';正在实时刷新日志-正在我的另一台服务器上运行,php,Php,对不起,我不知道如何命名这条线 我有一个处理一些日志的脚本,在这个过程中,我echo了很多调试信息。自从移动到新服务器后,脚本似乎会挂起30多秒,然后抛出所有日志记录,然后再次挂起30多秒,过程继续 这真是奇怪的行为,我不知道从哪里开始。它好像不是逐行处理文件,而是分块处理 在运行plesk的CentOS上,PHP版本是5.1.6。(我以前的CP是CPanel) 有什么想法吗 编辑:我的问题的简单示例-运行以下代码: for ($i=0; $i<100; $i++) { echo "tes

对不起,我不知道如何命名这条线

我有一个处理一些日志的脚本,在这个过程中,我
echo
了很多调试信息。自从移动到新服务器后,脚本似乎会挂起30多秒,然后抛出所有日志记录,然后再次挂起30多秒,过程继续

这真是奇怪的行为,我不知道从哪里开始。它好像不是逐行处理文件,而是分块处理

在运行plesk的CentOS上,PHP版本是5.1.6。(我以前的CP是CPanel)

有什么想法吗

编辑:我的问题的简单示例-运行以下代码:

for ($i=0; $i<100; $i++) {
echo "test $i";
sleep(1);
}

对于($i=0;$i您可能启用了
输出缓冲
。请先尝试禁用它

您可以在php.ini文件或.htaccess文件(如果服务器允许)中执行此操作,也可以在php脚本的开头使用以下代码:

while (ob_get_level()) ob_end_clean();
另外,在每次
echo
print
之后使用
flush()
,应该可以了

更新: 您可能还会遇到无法从PHP(web服务器、浏览器等)中控制的其他缓冲区,这就是为什么您仍然没有任何内容。解决方法是在每次打印后发送一些空白字节:

while (ob_get_level()) ob_end_clean();

for ($i=0; $i<100; $i++) {
    echo "test $i";
    echo str_repeat(' ', 256);
    flush();
    sleep(1);
}
while(ob_get_level())ob_end_clean();

对于($i=0;$i您可能有
output\u buffering
上。请先尝试禁用它

您可以在php.ini文件或.htaccess文件(如果服务器允许)中执行此操作,也可以在php脚本的开头使用以下代码:

while (ob_get_level()) ob_end_clean();
另外,在每次
echo
print
之后使用
flush()
,应该可以了

更新: 您可能还会遇到无法从PHP(web服务器、浏览器等)中控制的其他缓冲区,这就是为什么您仍然没有任何内容。解决方法是在每次打印后发送一些空白字节:

while (ob_get_level()) ob_end_clean();

for ($i=0; $i<100; $i++) {
    echo "test $i";
    echo str_repeat(' ', 256);
    flush();
    sleep(1);
}
while(ob_get_level())ob_end_clean();

对于($i=0;$iStart通过打开
display_errors
,然后发布一些代码,特别是在看起来有拖拉的地方,大约20行左右。我们不能只使用服务器信息做太多事情。我的代码太大,无法发布,因此我尝试创建一个简单的示例。首先打开
display_errors
,然后发布一些代码,特别是在hault看来,大约有20行。我们不能仅使用服务器信息做很多事情。我的代码太大,无法发布,因此我尝试创建一个简单的示例。我在上面的for循环中尝试了这个建议,但没有任何帮助:(可能是apache(或负载平衡器)正在缓冲输出。完全相同的代码在我的另一台服务器上的Firefox中工作,所以我猜这一定是一个设置问题。我的另一台计算机是VPS,而这是dedibox。现在要尝试您的代码。工作正常!好的……这是可以通过php.ini配置的吗?我将输出缓冲设置为0,但这没有帮助……怎么会没有他的作品?我想这不会有任何区别,因为
输出缓冲
就像你有一个手动
ob\u start()
调用一样。我想这可能是apache缓冲区的问题,可能提供的链接会给你一个线索。我在上面的for循环中尝试了这个建议,但没有任何帮助:(可能是apache(或负载平衡器)正在缓冲输出。完全相同的代码在我的另一台服务器上的Firefox中工作,所以我猜这一定是一个设置问题。我的另一台计算机是VPS,而这是dedibox。现在要尝试您的代码。工作正常!好的……这是可以通过php.ini配置的吗?我将输出缓冲设置为0,但这没有帮助……怎么会没有他的作品?我想这不会有什么区别,因为
输出缓冲
就像你有一个手动
ob\u start()
调用一样。我想这可能是apache缓冲区的问题,可能提供的链接会给你一个线索。