Ne pouvez pas obtenir LDAP fonctions pour charger en PHP
Lorsque vous tentez d'utiliser ldap_connect()
, j'obtiens cette erreur:
Fatal error: Call to undefined function ldap_connect()
J'ai recompiler php avec le LDAP module apache est activé, et j'ai édité mon php.fichier ini, trop et sans commentaire:
extension=php_ldap.dll
Je suis sur Red Hat Linux, php 5.3.10, apache 2.2. Des idées?
Chargé les Modules Apache: (contient *util_ldap*)
de base mod_authn_file mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default module 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 Protocoles: (contient: ldap)
dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smtp, smtps, telnet, tftp
Ceux sont des modules au sein d'apache, pas dans PHP.
vérifier le chargement des extensions via
phpinfo()
pour cerner le problème. Si elle n'apparaît pas, assurez-vous de montrer aussi des erreurs de démarrage pour identifier les mauvais chemins ou des fautes d'orthographe de l'extension ldap de fichier.pourquoi ne vous chargez php_ldap.dll sur un système Linux? Le module doit être avec .afin d'extension.
Il y a deux endroits dans le phpinfo qu'il peut montrer jusqu' - apache section et le PHP section. Vous ne pouvez l'avoir dans le apache section. Pouvez-vous poster le résultat réel?
OriginalL'auteur Citizen | 2012-04-09
Vous devez vous connecter pour publier un commentaire.
Vous écrivez:
Vous obtenez cette erreur, car la fonction
ldap_connect
Docs n'est pas défini. Vous ne pouvez pas appeler une fonction non définie en PHP, c'est pourquoi vous voyez l'erreur fatale.Pour obtenir que la fonction définie, vous devez charger un module PHP/extension appelée
LDAP
. Il est livré avec instructions d'installation. Vous avez écrit:Si vous recompiler PHP, assurez-vous d'activer LDAP, voir:
Cependant, normalement il suffit juste d'installer ce dont vous avez besoin via le gestionnaire de paquets, par exemple, essayez:
Si elle n'est pas assez et vous avez besoin de modifier votre configuration de PHP (pas toujours nécessaire), faire:
J'espère que cela est utile. Prendre soin que
.dll
est windows uniquement.C'est à l'intérieur d'un PHP
.ini
fichier. Ça dépend un peu sur votre installation de PHP où qui est en fait situé, appelantphpinfo()
au sein de la SAPI dans l'usage de fichiers ini analysé et leurs emplacements.OriginalL'auteur hakre
Je vous recommandons fortement d'utiliser le PHP que vous pouvez installer à l'aide de yum. En fonction de votre HR version, vous pouvez spécifier que vous souhaitez php53 (RH < 6). Alors, ne l'installer comme ceci:
À ce stade, vous devriez être bon d'aller. Vous n'avez pas besoin d'avoir Apache bibliothèque LDAP installé à tous de s'PHP avec LDAP.
Si vous utilisez RH 6, alors vous pouvez sauter l'53 partie du nom.
OriginalL'auteur Lucas Rockwell
C'est surtout une intuition, mais avez-vous essayé la rétrogradation à PHP 5.3.9?
Il y a une petite quantité de buzz sur internet à propos de LDAP étant brisée sur 5.3.10. Aussi, pourriez essayer de PHP 5.4, si vous sentez audacieux.
OriginalL'auteur Thomas Schultz
Pour CentOs. J'ai installé Php 7.
Alors, quand j'ai essayé d'exécuter
Pour résoudre cette erreur et installer ldap de php, exécuter
Le serveur va être d'essayer d'installer 5.6, Mais nous avons besoin de guide le serveur à installer avec 7.
Si elle ne fonctionne pas, essayez d'ajouter l'extension dans php.ini qui est mentionné dans la réponse à faire.
Une fois l'installation terminée, le ldap-login sera fait avec succès.
OriginalL'auteur Pravinraj Venkatachalam