Фоновые процессы PHP - PullRequest
       41

Фоновые процессы PHP

41 голосов
/ 05 ноября 2008

Я пытаюсь сделать сценарий PHP, у меня есть сценарий завершен, но это занимает около 10 минут, чтобы завершить процесс, для которого он предназначен. Это не проблема, однако я полагаю, что все это время я должен держать страницу загруженной, что раздражает. Могу ли я получить его, чтобы я запустил процесс, а затем вернулся через 10 минут и просто просмотрел сгенерированный файл журнала?

Ответы [ 11 ]

0 голосов
/ 26 июля 2018

Просто вызовите StartBuffer () перед любым выводом и EndBuffer (), когда вы хотите, чтобы клиент закрыл соединение. Код после вызова EndBuffer () будет выполнен на сервере без подключения клиента.


    private function StartBuffer(){
        @ini_set('zlib.output_compression',0);
        @ini_set('implicit_flush',1);
        @ob_end_clean();
        @set_time_limit(0);
        @ob_implicit_flush(1);
        @ob_start();
    }

    private function EndBuffer(){
        $size = ob_get_length();
        header("Content-Length: $size");
        header('Connection: close');
        ob_flush();ob_implicit_flush(1);
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...