PHP:死掉还是检查结果?

标签 php ldap exit die

我正在使用 PHP 实现 LDAP,我必须说,这相当容易。但是,我对使用 die() 或检查函数返回有疑问。从下面的代码 ( taken from here ) 中,如果将 die()ldap_connect 一起使用,那么检查 $ldapconn 有何意义?如果 ldap_connect 出现问题,PHP 不是应该以 die() 退出吗?

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

最佳答案

它没有任何作用。 ldap_connect如果失败就会返回false从而死掉,所以你可以删除2个之一。

我建议删除模具并添加一些良好的错误处理。

来源:PHP ldap_connect

在 PHP5.3 中测试 ldap_connect 时应该小心,我可以成功连接到 ldap_connect 始终返回 true 的任何服务器(现有的或不存在的)。链接类型始终为 ldap_connection,但实际上可能无法工作/成功。我建议使用 @ldap_bind 验证连接是否有效,然后检查是否有错误。

关于PHP:死掉还是检查结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5869911/

相关文章:

php - 为什么 PHP date() 在 diff 计算中添加 +1 小时?

jsp - 使用 JSP 的 Tomcat LDAP 身份验证

ruby-on-rails - 使用 Devise ldap 身份验证时出现编码错误

c++ - 如何让用户输入的单词退出循环?

bash - n秒后如何退出命令?

php - 如何计算Paypal付款费用

javascript - jQuery $.getJSON 不返回数据

php - 在 Paypal ( Paypal 订阅)中首次定期付款时应用折扣优惠券代码

c# - 使用 ldap 照片的 ASN.1 包装器创建 G3 传真图像

c++ - Linux/POSIX 相当于 C++ 代码中的 Win32 API TerminateProcess