php:ldap_add是异步的吗?

时间:2015-03-06 11:02:30

标签: php asynchronous ldap

我正在开发一个创建ldap项目的PHP应用程序。当我添加一个项目时,我需要马上得到它,因为我需要知道它的创建时间戳是出于某种目的。

然后我有:

  • ldap_add($ ds,$ dn,$ data)
  • ldap_search($ ds,$ root,$ some_filter)

几乎每一次,我在搜索中都得到了正确的结果,但它发生了两次: - 创建了正确的条目(之后我可以查看) - 搜索没有找到任何东西。

经过一些谷歌搜索后,我发现有两个C函数可以添加一个条目:ldap_add和ldap_add_s,第一个是异步的。 我最好的猜测是:

  • PHP ldap_add调用C函数ldap_add(异步)
  • 它返回" true"说'#34;它会是对的" (但不是"它是对的")
  • 在某些情况下,我的搜索是在ldap_add仍然在后台运行时发生的,然后我得到一个空结果。

这种解释是否有意义?如果搜索没有返回任何内容,是否有其他解决方案等待一段时间,然后再试一次?

最佳,

1 个答案:

答案 0 :(得分:0)

没有PHP使用ldap_add_shttps://github.com/php/php-src/blob/master/ext/ldap/ldap.c#L1444

因此,只要您的LDAP服务器没有谎言(某些多主配置可能会发生这种情况),您的搜索结果必须包含您刚刚添加的值。