title: PHP LDAP debug output in PHP script
body: <p>I want to fetch debug information of an ldap connection in a PHP script (Windows Environment). To activate the debug output you have to use ldap_set_option calling ldap_connect:</p>
  
  <pre><code>ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
  </code></pre>
  
  <p>And it is necessary to run the from command line. Otherwise you wont get the debug output. In a reqeust this debug output is not shown.</p>
  
  <pre><code>&lt;?php
  
  // Set the ldap server
  $ldapurl = "foo.bar";
  
  // Set debugging
  ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
  
  // connect to ldap server
  $ldapconn = ldap_connect($ldapurl) or die ("Couldn't connect"); 
  
  // binding to ldap server
  $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass);
  
  ?&gt;
  </code></pre>
  
  <p>The result of the command-line:</p>
  
  <pre><code>C:\&gt;C:\Apache\php\php-cgi.exe -f C:\Apache\htdocs\ldap_debug.php
      ldap_url_parse_ext(ldap://localhost/)
      ldap_init: trying c:\openldap\sysconf\ldap.conf
      ldap_init: HOME env is NULL
      ldap_init: trying ldaprc
      ldap_init: LDAPCONF env is NULL
      ldap_init: LDAPRC env is NULL
      ldap_create
      ldap_bind_s
      ldap_simple_bind_s
      ldap_sasl_bind_s
      ldap_sasl_bind
      ldap_send_initial_request
      ldap_new_connection 1 1 0
      ldap_int_open_connection
      ldap_connect_to_host: TCP foo.bar:389
      ldap_new_socket: 776
      ldap_prepare_socket: 776
      ldap_connect_to_host: Trying 192.168.42.20:389
      ldap_pvt_connect: fd: 776 tm: -1 async: 0
      ldap_open_defconn: successful
      ldap_send_server_request
      ldap_result ld 091BAC10 msgid 1
      wait4msg ld 091BAC10 msgid 1 (infinite timeout)
      wait4msg continue ld 091BAC10 msgid 1 all 1
      ** ld 091BAC10 Connections:
      * host: foo.bar  port: 389  (default)
        refcnt: 2  status: Connected
        last used: Mon Dec 15 09:16:49 2014
  
  
      ** ld 091BAC10 Outstanding Requests:
       * msgid 1,  origid 1, status InProgress
         outstanding referrals 0, parent count 0
        ld 091BAC10 request count 1 (abandoned 0)
      ** ld 091BAC10 Response Queue:
         Empty
        ld 091BAC10 response count 0
      ldap_chkResponseList ld 091BAC10 msgid 1 all 1
      ldap_chkResponseList returns ld 091BAC10 NULL
      ldap_int_select
      read1msg: ld 091BAC10 msgid 1 all 1
      read1msg: ld 091BAC10 msgid 1 message type bind
      read1msg: ld 091BAC10 0 new referrals
      read1msg:  mark request completed, ld 091BAC10 msgid 1
      request done: ld 091BAC10 msgid 1
      res_errno: 0, res_error: &lt;&gt;, res_matched: &lt;&gt;
      ldap_free_request (origid 1, msgid 1)
      ldap_parse_result
      ldap_msgfree
      ldap_free_connection 1 1
      ldap_send_unbind
      ldap_free_connection: actually freed
  </code></pre>
  
  <p>Now I want to do this in a request (<code>http://localhost/ldap_debug.php?cmd</code>):</p>
  
  <pre><code>&lt;?php
  
  if (isset($_REQUEST['cmd']))
  {
      $aOutput = array();
      $sCmdLine = "C:\\Apache\\php\\php-cgi.exe -f ".__FILE__;
      exec($sCmdLine, $aOutput);
      print_r($aOutput);
      exit;
  }
  
  // Set the ldap server
  $ldapurl = "foo.bar";
  
  // Set debugging
  ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
  
  // connect to ldap server
  $ldapconn = ldap_connect($ldapurl) or die ("Couldn't connect"); 
  
  // binding to ldap server
  $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass);
  
  ?&gt;
  </code></pre>
  
  <p>But the result array is $aOutput is empty. Any hints?</p>