试图调用函数“”;ldap_connect”;从名称空间“;AppBundleController”;


Attempted to call function "ldap_connect" from namespace "AppBundleController".

我不能使用ldap_connect函数,但我检查了php.ini,它在.中

我在网上没有发现这个错误。每个人都有"调用未定义的函数",但我被"尝试"了,不知道为什么。

我向function_exists('ldap_connect')核实了一下,结果是假的。

我使用Symfony2、apache和PHP 5.5.9。

我从控制器中调用函数,并从参数中获取参数。yml:

$ldap_user = $this->container->getParameter('ldap_user');
$ldap_pass= $this->container->getParameter('ldap_pass');
$ldap_co = ldap_connect($this->container->getParameter('ldap_address'));

如果有人能帮我,那就太棒了。

提前谢谢。

我想我找到了答案。这是一个产能问题。

我进入/etc/apache2/mods-available查看ldap.confldap.load是否在,它们在。然后我检查了他们不在的/etc/apache2/mods-enabled。这就是问题所在。

因此,我运行了以下命令:sudo a2enmod ldap,以便激活apache2的ldap模块。然后是sudo service apache2 reload,就在我看到它在phpinfo()中启用的那一刻。

也许这不是正确的方法,如果有人有更好的答案,我会接受。

您需要启用对php的ldap扩展。为此(路径来自Ubuntu)添加符号链接/etc/php5/apache2/conf.d

lrwxrwxrwx 1 root root   31 Sep 23  2014 20-ldap.ini -> ../../mods-available/ldap.ini

(如果你想在cli中使用,类似于/etc/php5/cli/conf.d

查看文档以获取更多信息

相关文章:
  • 没有找到相关文章