Есть ли способ получить выход из PHP Virtual()?
ob_start()
virtual();
ob_end_flush();
в моем случае не работает.
В руководстве http://php.net/manual/en/function.virtual.php:
Чтобы выполнить подпроцесс, все буферы завершаются и очищаются в браузере, также отправляются ожидающие заголовки.
Один из способов, о котором я могу думать, - создать отдельный файл и загрузить его:
// virtual.php
virtual('/path/to/whatever');
Затем, где бы вы ни захотели получить содержимое, загрузите его:
// other.php
$string = file_get_contents('http://www.example.com/path/to/virtual.php');
Вы используете obj_end_flush()
который останавливает буферизацию вывода и удаляет буферизованный вывод. То, что вы, вероятно, захотите, это следующее:
ob_start();
virtual();
$output = ob_get_clean();
$output
содержит буферный вывод, потому что ob_get_clean()
останавливает буферизацию вывода и возвращает буферный вывод вместо его удаления.
virtual()