2016-09-27 59 views
0

當ldap_bind上的憑據無效時,是否可以避免在屏幕上顯示php警告,但是沒有將@ldap_bind或error_reporting設置爲0?php ldap綁定警告

我試着用:

   try { 
        if(!ldap_bind($ds, $binddn, $password)) { 

         throw new Exception('Invalid credentials'); 
        } 
       } catch (Exception $e) { 
        var_dump($e->getMessage()); 
       } 

但它不工作。 PHP警告仍在屏幕上。

有誰知道解決方案?

回答

0

看一看http://php.net/manual/de/errorfunc.configuration.php#ini.display-errors

沒什麼做的LDAP擴展但你的php的設置。您應該使用php.ini中的log_errors-directive將錯誤記錄到錯誤日誌中。

而且由於ldap-extension目前不會拋出異常,因此將ldap_bind換成try-catchBlock並不會帶來太大的好處。您可以在調用任何ldap函數之前添加自定義錯誤處理程序,並將其替換爲默認錯誤處理程序。

對於那個看看http://php.net/manual/de/function.set-error-handler.phphttps://github.com/zendframework/zend-ldap/blob/master/src/Ldap.php#L825-L827