Error fatal: llamada a la función indefinida ldap_connect () en ubuntu

2 minutos de lectura

avatar de usuario
Roshan Wijesena

Estoy tratando de conectarme a mi servidor LDAP a través de PHP, pero aparece el siguiente error:

Error fatal: llamada a la función no definida ldap_connect()

Cualquier ayuda será muy apreciada.

Gracias de antemano, Roshan.

  • Estoy tratando de conectarme al open ds

    – Roshan Wijesena

    20 de abril de 2011 a las 5:16

  • No importa dónde intente conectarse: no ha instalado la extensión php ldap.

    – zerkms

    20 de abril de 2011 a las 5:18

  • Tengo el mismo problema, pero con Solaris. Creo que yo hacer tener LDAP habilitado con PHP. Ver pastie.org/1982091 para la salida de phpinfo() y busque LDAP o “ldap”. Debería ver ‘–with-ldap=shared,/opt/csw’ entre otros. Así que no sé qué más me estoy perdiendo.

    – Lawrence I. Siden

    27 de mayo de 2011 a las 19:18


avatar de usuario
Pascal MARTÍN

Asegúrate que extensión LDAP está instalado y habilitado. Esta respuesta asume que tiene PHP5, sin embargo, las cosas también deberían funcionar de manera similar para PHP7.

Instalar extensión LDAP

Debería haber un paquete llamado como php5-ldap:

aptitude show php5-ldap
Paquet : php5-ldap
...
Description : LDAP module for php5                                                                                                                                                                                                           
 This package provides a module for LDAP functions in PHP scripts.

Por lo tanto, el paquete generalmente se puede instalar como:

sudo apt-get install php5-ldap

si no usas apt-getuse el comando equivalente para el administrador de paquetes que usa.

Habilitar extensión LDAP

Para habilitar el paquete después de la instalación, puede usar este comando:

sudo php5enmod ldap

Si recibe algún mensaje de error del comando anterior, significa que algo salió mal.

Nota: Después de habilitar el paquete, generalmente debe reiniciar/recargar los servicios para que se reconozca el módulo recién habilitado. Para apache, puede hacer esto de la siguiente manera:

sudo service apache2 restart

Si no usa apache, use el comando equivalente para su servidor.

  • Creo que deberíamos reiniciar el servidor después de la instalación.

    – Mohamed H.

    9 de julio de 2012 a las 7:41

  • Deberá reiniciar el servicio de apache después de instalar este paquete. sudo service apache2 restart debería hacer el truco en Ubuntu.

    – Esteban Schrauger

    5 de agosto de 2013 a las 16:33

  • asegúrese de que después de instalar ldap haya un ldap.so en la carpeta php lib y también un ldap.ini agregado a la configuración de php o la extensión ldap esté habilitada, algunas veces la instalación no se agregará, vuelva a ejecutar la instalación o agregue manualmente

    – Basav

    28 de noviembre de 2013 a las 7:02

sudo apt-get install php5-ldap

Y no tengas miedo de googlear.

¿Ha sido útil esta solución?