web-dev-qa-db-ja.com

php.iniを編集し、php_ldap.dllが正しい場所にあるにもかかわらず、PHP LDAPを有効にできませんか?

LDAPを有効にして、かなり長い間、WAMPのインストールに取り組んできましたが、すべてが順調に進んでいます。今は別のマシンをセットアップする必要がありますが、何らかの理由でLDAPを有効にできません。

phpinfo()の出力を確認しましたが、LDAPセクションはありません。 php.iniを編集して行のコメントを外しました:

extension = php_ldap.dll

また、拡張子を検索するファイルパスを確認しました。ファイルphp_ldap.dllは適切な場所にあります。

私はpositiveです。phpinfo()で表示されているファイルパスをチェックしてから、右側のphp.iniファイルを編集しています。また、他の拡張機能を正常に有効/無効にすることができます。

変更を加えるたびにApacheを再起動しました。

これをグーグルで調べながら、私が見つけた唯一の解決策は、上記のものと、Windows PATH変数を編集してphp.iniへのパスを含めることに関する1つまたは2つの言及だけでした。私には意味がありませんでしたが(php.iniが解析されていることは既に知っているので)試してみました。また、他のマシンでの以前のインストールを確認しましたが、そのマシンのPATHにPHPディレクトリを追加していません。

完全な回答で編集

以下のフランクの答えが私を解決に導いたので、私は今すべてを統合すると思いました。

WAMPサーバーでLDAPサポートを有効にするには:

  1. extension = php_ldap.dllphp.iniのコメントを解除します
  2. [〜#〜] important [〜#〜]phpinfo()の出力をチェックして、正しいphp.iniを編集していることを確認します
  3. 拡張ディレクトリの場所については、php.iniファイルを確認してください
  4. php_ldap.dllがそのディレクトリにあることを確認します
  5. ステップIが失敗しました)ファイルlibeay32.dllおよびssleay32.dllを見つけ、そのディレクトリをWindows PATHに追加します
  6. Apacheを再起動します。 LDAPが有効になっている場合、phpinfo()の出力にそれに関するセクションがあります
24
Ciaran Phillips

ここにいくつかのヒントがあります: http://php.net/manual/en/ldap.installation.php 他の2つのDLL libeay32.dllおよびssleay32.dllを追加する必要があることに注意してください。 --with-ldapでコンパイルする必要がある場合もあります

10
Frank Farmer

これらの指示に従いましたが、まだphpinfo()でLDAPをロードできませんでした。 Apacheログは、起動時に次の致命的ではないメッセージを示しました:######/php5.4.16/ext/php_ldap.dll - The specified module could not be found. in Unknown on line 0

最後に、再度phpinfo()を見て、ユーザー変数PATHの代わりにシステム変数PATHが使用されており、PHPのルートおよびPHPの拡張フォルダーへの正しいパスが含まれていないことを確認しました。それらを####\php\php5.4.16;####\php\php5.4.16\ext;に追加し、Apacheを再起動するだけで問題が解決しました。これが他の誰かを助けることを願っています。

4
alexkb