2011-12-19 31 views
0

Windows XP上のApache上で実行されるPHPスクリプトがあり、LDAP認証が正常に実行できます。 ldap_bind()[function.ldap-bind]:サーバーにバインドできません:LDAPに接続できません。このスクリプトをLinux Red Hat上のApacheにコピーし、ldap_bindコール・ノーで次のエラーが表示されます:PHP LINUX WINDOWS WinXPでldap_bindが成功しましたが、Linuxでは成功しませんでした。

警告:サーバ

LinuxマシンとWindowsマシンの両方からLDAPサーバにpingを実行できます。

私はPHP、Apacheの、およびLDAPバージョンを比較し、以下のが見つかりました:

のLinux Red Hatのマシン: PHPバージョン:5.1.6 Apacheのバージョン:2.2.3 LDAP:OpenLDAPの、RCSのバージョン:$をLD:ldap.c、V 1.161.2.3 2006/01/01午前12時50分08秒、APIバージョン3001、ベンダーバージョン20343

私のローカルのWindowsマシン: PHPバージョン:5.3.8 Apacheのバージョン:2.2。 21 LDAP:OpenLDAP、RCSバージョン:$ ld:ldap.c 313665 2011/07/25 11:42:53、APIバージョン3001、ベンダーバージョン20319

LinuxまたはApacheの以前のバージョンでldap_bindに関する既知の問題はありますか?誰もが同じPHPスクリプトがLinuxマシンではなくWindowsマシンからLDAP認証を行うのはなぜですか?

+0

私のPHPコードは次のとおりです:$ ldaphost = "ldap://some.server.com:3268"; if(!($ connect = ldap_connect($ ldaphost))){\t \t die( "LDAPサーバーに接続できませんでした"); } if($ connect){ $ result = ldap_set_option($ connect、LDAP_OPT_PROTOCOL_VERSION、3); } $ ldapbind = ldap_bind($接続、$ユーザー名、$パスワード); – user840930

答えて

0

Linuxマシンで動作しています。

WindowsマシンとLinuxマシンの両方でOpenLDAPを使用していましたが、LinuxマシンのLDAPがLDAPサーバーに接続するように正しく設定されていませんでした。修正はファイル/etc/ldap.confを変更することでした。このファイルの設定が正しく設定されていませんでした。 Windowsで使用されていたものと一致するように、このファイルの設定を変更する試行錯誤。キーの設定はポートのようでした。このファイルのポートはもともとはデフォルトの389に設定されていました。これを3268に変更しました。Apacheを再起動して認証をやり直してみました。また、 'base'パラメータをコメントアウトしました。 LDAPはWindowsドメインにあるため、ベースは不要です。

関連する問題