2015-06-11 2 views
0

Я пытаюсь разработать очень простое PHP-приложение, которое регистрирует весь вход и выход HTTP для прозрачного файла.Хранить весь вывод сценария php для прозрачного файла

Я использую директиву auto_prepend_file для запуска своего приложения, и я также использую в нем register_shutdown_function(), чтобы поймать момент, когда проанализирован сценарий.

Проблема заключается в том, чтобы поймать весь вывод скрипта. Я думаю, что не могу использовать ob_start() или ob_get_clean(), потому что я не знаю, был ли проанализирован сценарий с использованием прямого вывода или нет. На самом деле я не знаю, что проанализировал сценарий, потому что я собираюсь регистрировать любой запрос и любой ответ, и я не хочу влиять на анализируемый сайт даже немного.

Как уловить любой PHP-скрипт выводится прозрачно, не затрагивая его функциональность?

+0

Добавлен подсветка кода и поставил вопрос немного более понятным. – Achrome

ответ

0

Вы бы хотели рассмотреть варианты, которые не выполняются со стороны PHP? tcpdump и tcpflow могут как выгружать TCP-трафик, как вы описываете здесь. Я не уверен, что это сработает для вас, но сброс всего запроса и ответа от каждого запроса на PHP не кажется очень хорошим производственным решением, поэтому я думаю, что вы собираетесь отлаживать идеи, поэтому tcpdump может сделать трюк.

0

Вы можете легко сделать это с помощью Wireshark без разработки приложения php.

0

Спасибо за все, я попытался использовать ob_start() и ob_get_clean(), и эта пара отлично работает. Никакая функциональность не была потеряна в приложении мониторинга (однако это довольно большое приложение).

Смежные вопросы