Как просмотреть stderr функций PHP ldap_* (с LDAP_OPT_DEBUG_LEVEL=7) из mod_php

Я могу запустить следующее из PHP 5.4.16 CLI:

ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
$conn = ldap_connect($hostname);
ldap_bind($conn, $ldaprdn);

И я получу много отладочной информации в stderr, которая начинается так:

ldap_create
ldap_url_parse_ext(ldaps://ldap.example.com)
ldap_bind_s
ldap_simple_bind_s
ldap_sasl_bind_s
ldap_sasl_bind
ldap_send_initial_request
...

Это отлично подходит для отладки в CLI. Тем не менее, мне нужно отладить из Apache 2.2.15 mod_php, потому что я вижу прерывистое подключение LDAP там, что я не могу воспроизвести в командной строке.

Я думал, что смогу запустить тот же код с веб-сервера и увидеть эту отладочную информацию в журнале ошибок Apache, но сообщения там не отображаются. PHP ошибки / предупреждения определенно идут в журнал ошибок, и я попытался error_reporting(-1), но не могу заставить эти отладочные сообщения показывать где-либо.

Есть ли какой-то способ увидеть эти отладочные сообщения stderr при работе под Apache?

1 ответ

Решение

Ответ заключается в том, что эти сообщения регистрируются, но в другой файл журнала, чем где error_log() сообщения идут. В моем Apache conf каждый виртуальный хост имеет свой собственный файл журнала ошибок. Существует также глобальный файл журнала ошибок, в котором отображаются сообщения запуска / завершения работы Apache.

Я выполнял эти сценарии отладки LDAP на виртуальном хосте и ожидал, что выходные данные об ошибках попадут в определенный журнал ошибок хоста... как и все другие сообщения об ошибках. Но по какой-то причине эти строки отладки ldap отправляются в глобальный журнал ошибок.

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