2

を使用しようとするとldap_connect()、次のエラーが発生します。

致命的なエラー:未定義の関数ldap_connect()の呼び出し

LDAP apacheモジュールを有効にしてphpを再コンパイルし、php.iniファイルも編集してコメントを外しました。

extension=php_ldap.dll

私はRedHatLinux、php 5.3.10、apache2.2を使用しています。何か案は?

ロードされたApacheモジュール:(*util_ldap *を含む)

コアmod_authn_fileでもmod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default mod_auth_basicはmod_include mod_filter util_ldap mod_log_configのmod_logio mod_env mod_expiresをしてmod_headers mod_setenvifのmod_version mod_proxyのmod_proxy_connectですmod_proxy_ftp mod_proxy_http mod_proxy_scgi mod_proxy_ajp mod_proxy_balancer mod_sslのpreforkのhttp_core mod_mimeによりmod_statusをmod_autoindexのmod_asis mod_infoのmod_suexec mod_cgiのmod_negotiationのmod_dir mod_actions mod_userdirはmod_alias mod_rewriteをmod_soはmod_auth_passthrough mod_bwlimited mod_fpcgid mod_php5のmod_security

Apacheプロトコル:(含む:ldap

dict、file、ftp、ftps、gopher、http、https、imap、imaps、ldap、ldaps、pop3、pop3s、rtsp、smtp、smtps、telnet、tftp

4

4 に答える 4

10

あなたが書く:

ldap_connect()を使用しようとすると、次のエラーが発生します。

致命的なエラー:未定義の関数ldap_connect()の呼び出し

ldap_connect関数Docsが定義されていないため、このエラーが発生します。PHPで未定義の関数を呼び出すことはできません。そのため、致命的なエラーが表示されます。

その関数を定義するには、と呼ばれるPHPモジュール/拡張機能をロードするLDAP必要があります。インストール手順が付属しています。あなたが書いた:

LDAPapacheモジュールを有効にしてphpを再コンパイルしました。

PHPを再コンパイルする場合は、LDAPが有効になっていることを確認してください。以下を参照してください。

--with-ldap[=DIR]LDAPサポートを有効にするには、PHPをコンパイルするときに構成オプションを使用する必要があります。DIRは、LDAPベースのインストールディレクトリです。

ただし、通常は、パッケージマネージャーを介して必要なものをインストールするだけで十分です。たとえば、次のようにします。

# yum install php-ldap

それだけでは不十分で、実際にPHP構成を編集する必要がある場合(必ずしも必要ではありません)、次のようにします。

$ vi /etc/php.ini

add extension=ldap.so

# service httpd restart

これがお役に立てば幸いです。.dllWindowsのみであることに注意してください。

于 2012-04-15T14:22:50.007 に答える
1

これはたいていの予感ですが、PHP 5.3.9にダウングレードしてみましたか?

5.3.10でLDAPが壊れていることについて、インターネット上で少し話題があります。また、大胆に感じた場合は、PHP5.4を試すことができます。

于 2012-04-11T19:55:09.377 に答える
1

yumを使用してインストールできるPHPを使用することを強くお勧めします。RHのバージョンによっては、php53(RH <6の場合)が必要であることを指定する必要がある場合があります。したがって、次のようにインストールします。

  1. yum install php53
  2. yum install php53-ldap

この時点で、あなたは行ってもいいはずです。PHPをLDAPで動作させるために、特別なApacheLDAPライブラリをインストールする必要はまったくありません。

RH 6を使用している場合は、名前の53の部分をスキップできます。

于 2012-04-13T00:26:52.217 に答える
0

CentOの場合。PHP 7をインストールしました。実行しようとすると、

yum install php-ldap

このエラーがありました

php71w-common conflicts with php-common-5.4.16-43.el7_4.1.x86_64

このエラーを解決してldap-phpをインストールするには、次を実行します。

yum install php71w-ldap

サーバーは5.6をインストールしようとしますが、7でインストールするようにサーバーをガイドする必要があります。

それが機能しない場合は、他の回答に記載されているphp.iniに拡張子を追加してみてください。

そして、サーバーを再起動することを忘れないでください。

インストールが完了すると、ldap-loginが正常に実行されます。

于 2018-03-29T13:06:02.880 に答える