php ldap绑定警告

时间:2016-09-27 10:01:47

标签: php codeigniter ldap warnings

当ldap_bind上的凭据无效时,无论如何都可以避免屏幕上的php警告,但是没有使用@ldap_bind或error_reporting设置为0?

我尝试过:

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

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

但它不起作用。屏幕上仍然显示PHP警告。

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:1)

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

它与ldap-extension无关,但与你的php设置无关。您应该使用php.ini中的log_errors - 指令将错误记录到错误日志中。

由于ldap-extension目前不会抛出异常,因此将ldap_bind包装到try-catch - Block中并不会有太多运气。您可以在调用任何ldap函数之前添加自定义错误处理程序,并将其替换为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