2016-05-04 13 views
1

私はldap_connect機能を使用することはできませんが、私は、php.iniでチェックし、それがでます。名前空間 "App Bundle Controller"から "ldap_connect"関数を呼び出そうとしました。

私は、インターネット上でこのエラーを見つけることができませんでした。誰もが "定義されていない関数への呼び出し"を持っていますが、私は "試行されました"という理由がありません。

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')); 

誰かが素晴らしいだろうという私を助けることができれば。

ありがとうございます。

+0

あなたは 'phpinfo'をチェックしましたか?拡張機能のリストに 'ldap'がありますか? –

+0

phpinfo()にインストールされている拡張機能について確認してください。異なる環境(CGIやCLIなど)で異なる設定をしている可能性があります – sly

+0

私が見つけた 'ldap'はCREDITSセクションにあります:/何をする必要がありますか?また、 'php -m'でチェックしたところ、リストにないのです –

答えて

1

は私が私を考えます答えを見つける。それはapache2の問題でした。

ldap.confldap.loadが入っていないか確認するために/etc/apache2/mods-availableに行っていました。それから、私は/etc/apache2/mods-enabledでチェックしました。それが問題です。

私はsudo a2enmod ldapというコマンドを実行して、apache2のldapモジュールを有効にしました。その後、sudo service apache2 reloadと瞬間に私はそれをphpinfo()で有効にしました。

それは正しい方法ではないかもしれません。もし誰かがより良い答えを持っていれば、私はそれを取るでしょう。

0

ldapをPHPに拡張する必要があります。 (パスがUbuntuのからのもの)(あなたはcliでこの利用可能にしたい場合は/etc/php5/cli/conf.dに似ています)詳細は

チェックdoc/etc/php5/apache2/conf.d

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

シンボリックリンクを追加することを行うには

+0

私は考えました。しかし、それは両方のフォルダにあります... 20-ldap.ini I mean –

+0

@Von_KavalierどのOS、Webサーバー、およびPHP処理モジュールを使用していますか? Ubuntuを使っている場合、適切な環境へのシンボリックリンクを作る必要があるとTomaszが示唆しています。たとえば、php-fpmを使用する場合、 '/ etc/php5/mods-available/ldap.ini'から'/etc/php5/fpm/conf.d/'また、Webサーバー(PHPがWebサーバーモジュールとして使用されている場合)またはcgi/fpmサービスを再起動することを忘れないでください。 – sly

+0

私はUbuntu上でApacheを使用しています。 。シンボリックリンクは既に行われています。そのため、なぜ関数が呼び出されていないのか分かりません –

関連する問題