PHP アプリケーションでは、LDAP (Lightweight Directory Access Protocol) を使用するのが非常に一般的です。ただし、次のエラー メッセージが表示される場合があります。
PHP 致命的なエラー: 未定義の関数 ldap_connect() への呼び出し
このエラー メッセージは、お使いの PHP のバージョンが LDAP 拡張機能をロードしていないか、有効にしていないことを示しています。 。これにより、ユーザーが LDAP サーバーに接続できなくなり、対応する操作を実行できなくなる可能性があります。
この記事では、このエラー メッセージを解決する方法について説明します。
まず、PHP 環境で LDAP 拡張機能が有効になっていることを確認します。これは次の方法で確認できます:
ターミナルを開いて次のコマンドを実行します:
php -m | grep ldap
キーワード「ldap」が表示された場合、出力は次のようになります。 LDAP 拡張機能が有効になっていることを確認します。そうでない場合は、有効にする必要があります。正確な方法は、使用しているシステムと PHP バージョンによって異なります。
PHP 環境で LDAP 拡張機能が有効になっていない場合は、php.ini ファイルを編集して有効にできます。 Linux システムでは、php.ini は通常、/etc/ ディレクトリにありますが、Windows システムでは、PHP ルート ディレクトリにあります。
php.ini ファイルを開き、次の行を見つけます:
;extension=php_ldap.dll
先頭のセミコロンを削除し、現在のシステムに合わせて拡張子を変更します。対応する拡張子を使用:
extension=php_ldap.so (Linux)
extension=php_ldap.dll (Windows)
ファイルを保存して閉じ、Web サーバーを再起動します。
LDAP 拡張機能を有効にしても機能しない場合は、Web サーバーを再起動してみてください。
Linux システムでは、次のコマンドを使用して Apache を再起動できます:
sudo service apache2 restart
Windows システムでは、次のコマンドを使用して IIS を再起動できます。
iisreset
LDAP 拡張機能が有効になっており、Web サーバーを再起動しても接続できない場合LDAP サーバーに接続している場合、LDAP サービスが利用できないことが原因である可能性があります。
次のコマンドを使用して、LDAP サービスが利用可能かどうかを確認してみることができます:
telnet your-ldap-server-hostname 389
出力が次のようであれば、以下は、LDAP サービスが利用可能であることを意味します:
Trying 10.0.2.15...
Connected to your-ldap-server-hostname.
エスケープ文字は '^]' .
以上がPHP 致命的エラーの解決策: 未定義関数 ldap_connect() の呼び出しの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。