2016-09-27 12 views
0

ldap_bindで無効な資格情報があり、@ldap_bindやerror_reportingを0に設定しないと、画面上でphp警告を避けることができますか?php ldap bind warning

私が試した:

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

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

しかし、それは動作しません。 PHPの警告はまだ画面に表示されます。

誰も解決を知っていますか?

答えて

0

は、それは、LDAP-拡張子ではなく、あなたのphp-の設定を行うには何もないhttp://php.net/manual/de/errorfunc.configuration.php#ini.display-errors

を見てください。エラーログにエラーを記録するには、php.iniのlog_errorsディレクティブを使用する必要があります。

現在、ldap-extensionは例外をスローしませんので、ldap_bindtry-catch -Blockにラップすると大したことはありません。ただし、任意のldap-functionの呼び出しの前にカスタムエラーハンドラを追加して、それをdefault-error-handlerに置き換えることはできます。

これについてはhttp://php.net/manual/de/function.set-error-handler.phphttps://github.com/zendframework/zend-ldap/blob/master/src/Ldap.php#L825-L827