web-dev-qa-db-fra.com

Impossible d'activer PHP LDAP même si j'ai édité php.ini et php_ldap.dll est au bon endroit?

Je travaille avec une installation WAMP depuis un bon moment maintenant avec LDAP activé et tout se passe bien. Maintenant, bien que je doive configurer une autre machine et pour une raison quelconque, je ne peux pas activer LDAP.

J'ai vérifié la sortie de phpinfo() et la section LDAP n'est pas là. J'ai modifié php.ini Pour décommenter la ligne:

extension = php_ldap.dll

J'ai également vérifié le chemin de fichier recherché pour les extensions et le fichier php_ldap.dll Est au bon endroit.

Je suis positif J'édite le bon fichier php.ini Depuis que j'ai vérifié le chemin de fichier affiché par phpinfo() , et je peux également activer/désactiver d'autres extensions avec succès.

J'ai redémarré Apache après chaque modification.

Pendant la recherche sur Google, les seules solutions que j'ai trouvées étaient celles ci-dessus, plus une ou deux mentions de modification de la variable Windows PATH pour inclure le chemin d'accès à php.ini? Je l'ai essayé même si cela n'avait pas de sens pour moi (comme je sais déjà que php.ini Est en cours d'analyse). J'ai également vérifié mon installation précédente sur l'autre machine et d'après ce que je peux voir, je n'ai jamais ajouté de répertoires PHP aux PATH sur cette machine

Modifier avec une réponse complète

La réponse de Frank ci-dessous m'a conduit à la solution, alors j'ai pensé que je consoliderais tout maintenant.

Pour activer la prise en charge LDAP sur un serveur WAMP:

  1. Décommentez extension = php_ldap.dll Dans php.ini
  2. IMPORTANT : Assurez-vous que vous éditez le bon php.ini en vérifiant la sortie de phpinfo()
  3. Vérifiez le fichier php.ini Pour l'emplacement de votre répertoire d'extensions
  4. Vérifiez que php_ldap.dll Se trouve dans ce répertoire
  5. (L'ÉTAPE QUE J'AI MANQUÉ) Trouvez les fichiers libeay32.dll Et ssleay32.dll Et ajoutez leur répertoire au CHEMIN Windows
  6. Redémarrez Apache. Si LDAP est activé, il y aura une section à ce sujet dans la sortie de phpinfo()
24
Ciaran Phillips

Il y a quelques conseils ici: http://php.net/manual/en/ldap.installation.php . Notez que vous devez ajouter deux autres DLL libeay32.dll et ssleay32.dll. Vous devrez peut-être également compiler avec --with-ldap

10
Frank Farmer

J'ai suivi ces instructions mais je n'ai toujours pas pu obtenir le chargement LDAP dans mon phpinfo (). Les journaux Apache ont montré au démarrage le message non fatal suivant: ######/php5.4.16/ext/php_ldap.dll - The specified module could not be found. in Unknown on line 0

À la fin, j'ai regardé à nouveau phpinfo () et j'ai vu que la variable système PATH était utilisée à la place de ma variable utilisateur PATH et qu'elle ne contenait pas le chemin d'accès correct à la racine de PHP et au dossier d'extension de PHP. Il suffit de les ajouter dans ####\php\php5.4.16;####\php\php5.4.16\ext; et le redémarrage d'Apache ont résolu le problème. J'espère que cela peut aider quelqu'un d'autre.

4
alexkb