Fatal Error Call to undefined function ldap_connect()

Fatal Error Call to undefined function ldap_connect()

In un post precedente abbiamo visto come implementare una form di login tramite protocollo LDAP in PHP. Se testiamo lo script in XAMPP su Windows ci viene mostrato il messaggio di errore Fatal Error Call to undefined function ldap_connect(). In questo post vedere come risolverlo.


Fatal Error Call to undefined function ldap_connect()

Questo è il messaggio di errore completo che ci compare se proviamo a raggiungere il file php che contiene lo script con autenticazione tramite protocollo LDAP:

Fatal error: Uncaught Error: Call to undefined function ldap_connect() in C:\xampp\htdocs\ldap\ldapLogin.php:20 Stack trace: #0 {main} thrown in C:\xampp\htdocs\ldap\ldapLogin.php on line 20

Questo è quello che visualizziamo sul browser se proviamo a richiamare la pagina PHP contenente lo script

Fatal Error Call to undefined function ldap_connect() browser message

L’errore si verifica perchè dopo l’installazione di XAMPP in Windows la dll che si occupa di gestire il protocollo LDAP di default non è abilitata.

Per abilitarla dobbiamo effettuare una modifica nel file di configurazione php.ini.
Dal pannello controllo di XAMPP clicchiamo sul pulsante Config, sotto la voce Actions, e clicchiamo su php.ini nel menù che ci viene mostrato

Fatal Error Call to undefined function ldap_connect() open php.ini

Scorriamo il file fino a raggiungere la riga relativa all’attivazione del protocollo LDAP, eliminiamo il commento (il punto e virgola) lasciando solo extension=ldap e salviamo il file.

Fatal Error Call to undefined function ldap_connect() uncomment

Per rendere effettiva la modifica al file php.ini bisogna riavviare il servizio di Apache. Dal pannello di controllo di XAMPP, sotto la voce Actions, clicchiamo prima su Stop (se il servizio risulta già avviato) e poi su Start

Fatal Error Call to undefined function ldap_connect() restart apache

Ora, se proviamo a raggiungere tramite browser la pagina contenente lo script che utilizza il protocollo LDAP, non ci verrà visualizzato nessun messaggio di errore.

Fatal Error Call to undefined function ldap_connect() test script without errors

Nel caso l’errore non dovesse essersi risolto, anche con estensione abilitata in php.ini, bisogna copiare il file libsasl.dll, presente nella cartella delle estensioni di PHP, all’interno della root di Apache e riavviare il servizio come visto in precedenza.

Se volete provare lo script lo trovate a questo link.

A presto 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *