Как написать в стандартный вывод неоднократно с php

Я хочу развивать кли debug функция для моего приложения, которая будет распечатывать всю информацию о URI такие запросы, как использование памяти, маршруты, истекшее время, SQL-запросы и т. д.

Как я могу записать эту информацию в консоль. Когда я активирую свою программу из терминала, она будет ждать запроса, а затем выводит информацию на выход. Я получил этот хакерский код:

$this->console->writeln("<info>Enter Ctrl+C to exit.</info>");
while(true) {
    sleep(5);
    $this->console->writeln("<info>$profileInfo</info>");
}

Я использую компонент консоли Symfony2 для этого тега <info> это просто псевдокод. Любая помощь будет оценена.

1 ответ

Звучит так, как будто вы делаете HTTP-запрос к странице PHP, но используете консольный компонент исключительно для ведения журнала отладки, верно?

Если это так, то вам будет гораздо лучше использовать сервис 'logger' (например, Monolog) для входа в файл, тогда вы можете наблюдать за изменениями в режиме реального времени через консоль, запустив tail -f /path/to/LOG_FILE, Если вы используете полнофункциональную платформу Symfony2, она уже доступна logger сервис ( пример).

Кроме того, я не уверен, что вы уже используете компонент Stopwatch Symfony2 для профилирования, но если нет, то я определенно рекомендую его.

РЕДАКТИРОВАТЬ: даже если вы запускаете свой код из командной строки, вход в файл по-прежнему хороший вариант. В противном случае просто используйте echo как предложил jszobody.

Другие вопросы по тегам