试图调用函数" ldap_connect"来自命名空间" App \ Bundle \ Controller"。

时间:2016-05-04 09:21:48

标签: php symfony ldap

我无法使用ldap_connect功能,但我检查了php.ini并将其输入。

我在互联网上没有发现此错误。每个人都有"呼唤未定义的功能"但我得到了#34;试图"并且无法理解原因。

我使用function_exists('ldap_connect')进行了检查,结果是错误的。

我使用Symfony2,apache和PHP 5.5.9。

我从我的控制器调用该函数,我从parameters.yml获取参数:

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

如果有人可以帮助我那会很棒。

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

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

所以我运行了以下命令:sudo a2enmod ldap以激活apache2的ldap模块。然后是sudo service apache2 reload,在我看到它phpinfo()启用时。

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

答案 1 :(得分:0)

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

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

(如果您希望在/etc/php5/cli/conf.d

中提供此功能,则类似于cli

查看doc了解详情