• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPインストールパッケージの内容が違う件)

PHPインストールパッケージの内容が違う件

このQ&Aのポイント
  • phpの最新版である5.3.3のインストールパッケージをダウンロードしたのですが、パッケージによって php_ldap.dll が入っていたり、入っていなかったりするのですが、何故なのでしょうか?
  • phpの最新版5.3.3のインストールパッケージをダウンロードした際に、php_ldap.dll の有無がパッケージによって異なる状況が発生していますが、その理由は何なのでしょうか?
  • phpの最新版5.3.3のインストールパッケージをダウンロードした際、パッケージによって php_ldap.dll の有無が異なる現象が起きていますが、この違いの理由は何でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

なにやらそれっぽいやりとりがありました。 http://www.listware.net/201007/php-windows/112242-php-win-php-533-ldapsaslbind.html 英語は苦手なのでよくわかりませんが、LDAPするにあたって、「SASL」という標準のインターフェースがあって、それの最新版はVC6のバージョンはなくて、VC9のバージョンのみのようですね。 「Sasl won't make it to any VC6 versions. Only VC9. You should move to VC9 versions.」 なので、今後更新されない古いバージョンのインターフェイスを使ったものは開発しないとか、そういう事なのではないでしょうか。

shimofuri1
質問者

お礼

回答、ありがとうございました。 教えて頂いたサイトや諸々調べたところ、 その差分であるphp_ldap.dllのファイルが公開されていることに行き当たりました。 http://windows.php.net/downloads/qa/ に php_ldap-5.3.3-vc6-x86.zip があり、 これに当該ファイルが含まれます。 php本体のリリースには間に合わずに、追って差分としてリリースされた、と言ったところでしょうか。 5.3.2で作成したアプリを試したところ、今のところ問題なく動いているようです。(もう少し検証しますが) 手順としては、 1)php_ldap-5.3.3-vc6-x86.zip をダウンロード 2)解凍した php_ldap.dll をPHPインストールフォルダのextにコピー 3)php.iniの最終行に、    [PHP_LDAP]    extension=php_ldap.dll   を追記して保存。 ※念のため、Apacheの再起動とCakePHPのキャッシュをクリアしました。 ひとまず解決として検証を進めてみます。 ありがとうございました。

その他の回答 (1)

回答No.1

VC6は、VisualC++のバージョン6のことで、VC9はVisualC++のバージョン9(VC++2008)のことのようで、 それのどちらかでビルドされているものっていう違いが前提にあります。 詳しくは、 http://d.hatena.ne.jp/tanakahisateru/20090918/1253215261 こちらで説明してくれてます。 php_ldap.dllがVC9のほうにしか入っていないというのは、そのDLLを開発するにあたって、VC6だと都合が悪かったとか何らかの理由があるのではないでしょうか。

shimofuri1
質問者

お礼

回答ありがとうございました。 VC6とVC9の違いについて、回答前半で詳しく分かりました。勉強になりました。 回答後半の方ですが、1つ前の5.3.2では、VC6用にもphp_ldap.dllが含まれているのです。 VC6の5.3.3だけ入っていない理由はまだ探せていないので、引き続き調べてみたいと思います。 動作に問題が有るのか、入れ忘れ!?などなど。

関連するQ&A

専門家に質問してみよう