PHP:死还是检查结果?

PHP:死还是检查结果?,php,ldap,exit,die,Php,Ldap,Exit,Die,我正在用PHP实现LDAP,我必须说这相当容易。但是,我有一个关于使用die()或检查函数返回的问题。从下面的代码(),如果将die()与ldap\u connect一起使用,检查$ldapconn有什么意义?如果ldap\u connect出现问题,PHP不应该退出die() // connect to ldap server $ldapconn = ldap_connect("ldap.example.com") or die("Could not connect to LDAP s

我正在用PHP实现LDAP,我必须说这相当容易。但是,我有一个关于使用
die()
或检查函数返回的问题。从下面的代码(),如果将
die()
ldap\u connect
一起使用,检查
$ldapconn
有什么意义?如果ldap\u 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,因此您可以删除其中一个

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

资料来源:


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

你说得对,那太多余了


顺便说一句,您应该只在实体模型原型或真正简单的CLI脚本中使用
die
。对于“真正的”网站,您应该更优雅地处理错误,并输出正确的错误页面,而不是只使用
die
ing。

ldap\u connect()在连接失败时返回false。在这种情况下,脚本被die()停止,并返回一条消息。此行下不会执行任何其他代码。

ldap\u connect错误时返回false。die在那里很有用,因为有了它,您可以设置一个可读的错误/警告供开发人员查看。

if($ldapconn){}语句下面可能有代码,该语句将在没有die()的情况下执行。但是你是对的,die()不是一个正确的错误处理。