php - не показывает вывод ob_start (); - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь запустить PHP-скрипт в фоновом режиме после получения ответа 200 от apache, однако он не работает, столкнулся с небольшой проблемой в следующем коде, и я не уверен, почему.

<?php
ignore_user_abort(true);
set_time_limit(0);

ob_start();
header('Content-Type: application/json');
// output the array to screen
echo json_encode(['data' => 'foo']);
header('Connection: close');
header('Content-Length: ' . ob_get_length());
ob_end_flush();
ob_flush();
flush();
// run the rest of the code in background

Я получаю код состояния 200, но после завершения полного процесса сценария сценарий выводит массив json выше.Есть мысли?

1 Ответ

0 голосов
/ 18 мая 2018

Я обнаружил проблему.

У меня был включен gzip на сервере, поэтому я добавил заголовок:

header("Content-Encoding: none");  

после ob_start ();И это прекрасно работает.

...