How to view stderr of PHP's ldap_* functions (with LDAP_OPT_DEBUG_LEVEL=7) from mod_php

ⅰ亾dé卋堺 提交于 2019-12-31 02:52:12

问题


I can run the following from the PHP 5.4.16 CLI:

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

And I will get a lot of debug output to stderr that starts like this:

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
...

That is great for debugging on the CLI. However, I need to debug from within Apache 2.2.15 mod_php because I am seeing intermittent LDAP connectivity there that I cannot reproduce on the command line.

I thought I could run the same code from the web server and see that debug information in Apache's error log, but the messages are not showing up there. PHP errors/warnings are definitely going to the error log, and I tried error_reporting(-1), but can't get those debug messages to show anywhere.

Is there some way I can see those stderr debug messages when running under Apache?


回答1:


The answer is that those messages are being logged, but to a different log file than where the error_log() messages go. In my Apache conf, each virtual host has its own error log file. There is also a global error log file where Apache startup/shutdown messages show up.

I was running these LDAP debug scripts on a virtual host and expecting the error output to go to the host's defined error log... just like all other error messages do. But for some reason those ldap debug lines get sent to the global error log.



来源:https://stackoverflow.com/questions/21857617/how-to-view-stderr-of-phps-ldap-functions-with-ldap-opt-debug-level-7-from

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!