Skip to main content

Joomla non effettua il login

In questi giorni ho cominciato a lavorare su un nuovo sito Joomla, per il quale dovremo aggiornare ed espandere le funzionalità di e-commerce. La prima cosa che mi hanno chiesto è stata di verificare come mai la procedura di acquisto non si completasse correttamente.

Dopo alcune prove, ho verificato che il problema non era tanto l’e-commerce, ma il login, che non funzionava correttamente. Infatti, se l’utente non riesce ad accedere al sito, la procedura di acquisto non prosegue.

Quindi il problema da risolvere è diventato “come mai non si riesce ad effettuare il login”. Vi spiego come l’ho risolto.

Seguendo un lungo thread sul forum di Joomla.org, ho visto che i motivi per questo potevano essere diversi, soprattutto legati ai percorsi di salvataggio delle sessioni o all’errata disabilitazione di alcuni plugin. Tuttavia, nel mio caso la situazione non si sbloccava, anche provando alcuni dei suggerimenti contenuti. Cerca, cerca, cerca… trovato!

In qualche modo, trasferendo ed editando il file configuration.php, si era creata una linea vuota in fondo al file, dopo la chiusura del tag php: “?>”. Ora, verrebbe da pensare che una linea vuota in fondo a un file non debba creare tutto questo casino… 🙂

Invece, il PHP considera la linea bianca come del contenuto da inviare al browser, e quindi inizia un invio HTTP, con relativo header; mentre normalmente il file configuration.php si occupa solo di definire le variabili di sistema – e non genera contenuto. In conseguenza di ciò, la creazione della sessione non avveniva correttamente, e quindi il login non funzionava.

Notare che lo stesso problema si presenta se la linea bianca è all’inizio del file, prima del tag PHP  “<?php”. Talvolta, sono gli editor di testo che aggiungono automaticamente una linea bianca in fondo in fase di salvataggio.

Pulendo il file configuration.php e tutto ora funziona correttamente. Spero che questo post vi faccia risparmiare qualche ora di debug e ricerca.

Commenti (4)

I commenti sono chiusi.