PHP-флеш не работает

Я пытаюсь заставить PHP работать в течение 2 часов, я не могу заставить его работать, в localhost он работает, но когда я перетаскиваю его на сервер, он перестает работать.
Код такой:

<?php
ob_implicit_flush(true);
ob_end_flush();
for ($i=0; $i<5; $i++) {
echo $i.'<br>';
sleep(1);
}
?>

Я перепробовал много других версий, но все версии, которые мне нравятся, работают только на localhost (как это), но не на моем сервере, я где-то читал, что это будет исправлено, изменив некоторые строки в файле php.ini, но я я использую домен Windows хостинга Aruba, поэтому я не могу редактировать php.ini, как я могу это сделать?

Обновить: Я попробовал его на двух других бесплатных хостингах serice, и он работает на них, только мои основные хостинговые сервисы создают проблему: что это может быть?

Обновить: Поскольку многие скрипты, которые я нашел, используют ini_set, я пытался проверить значения, которые они установили, я не знаю, могут ли они быть полезны:

session.use_trans_sid 0
output_buffering 4096
zlib.output_compression Off

0

Решение

Это работает, но только в среде Apache по умолчанию:

<?php
ini_set('output_buffering', 0);
ini_set('zlib.output_compression', 0);
if( !ob_get_level() ){ ob_start(); }
else { ob_end_clean(); ob_start(); }
for ($i = 0; $i < 10; $i++) {
//For Nginx we have to reach minimum  buffer size,
//so if it is not enough increment output
echo str_pad( $i . '<br>', 1024 + 10, ' ', STR_PAD_RIGHT );
flush();
ob_flush();
sleep(1);
}

Nginx нужно больше конфигураций:

обычно в /etc/nginx/nginx.conf

gzip off;
proxy_buffering off;
fastcgi_buffer_size 1k;       #set buffer to 1k
fastcgi_max_temp_file_size 0;
fastcgi_buffers 128 1k;       #set max buffer size to 1k + 128*1k
0

Другие решения

Пытаться

<?php

ini_set('session.use_trans_sid', 0);

ob_implicit_flush(true);
ob_end_flush();
for ($i=0; $i<5; $i++) {
echo $i.'<br>';
sleep(1);
}
?>

Или проверьте:
Команда php implicit_flush работает неправильно

0

По вопросам рекламы [email protected]