我正在用PHP实现LDAP,我必须说这很容易。然而,我有一个关于使用die()
或检查函数返回的问题。从下面的代码(从这里取的),如果您使用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,因此您可以删除其中一个。
我建议删除die并添加一些好的错误处理。
来源:PHP ldap_connect
你应该小心在PHP5.3中测试ldap_connect,我可以成功地连接到任何服务器(现有或不存在),其中ldap_connect总是返回true。链接类型总是ldap_connection,但实际上可能无法工作/成功。我建议使用@ldap_bind验证连接是否有效,然后检查是否有错误。
你说得对,这太多余了。
顺便说一句,您应该只在模型原型或非常简单的CLI脚本中使用die
。对于"真正的"网站,您应该更优雅地处理错误并输出适当的错误页面,而不是仅仅die
。
ldap_connect()如果连接失败返回false。在本例中,脚本被die()停止并返回一条消息。
ldap_connect在错误时返回false。die在这里很有用,因为有了它,你可以设置一个可读的错误/警告,让开发人员看到。