mysqli_real_connect() - metodo di autenticazione sconosciuto al client - Avvisi
Continuo a ricevere i seguenti avvisi nel mio log di debug:
PHP Warning: mysqli_real_connect(): Il server ha richiesto un metodo di autenticazione sconosciuto al client [mysql_old_password] in /wp-includes/wp-db.php alla riga 1379
PHP Warning: mysqli_real_connect(): (HY000/2054): Il server ha richiesto un metodo di autenticazione sconosciuto al client in /wp-includes/wp-db.php alla riga 1379
PHP Deprecated: mysql_connect(): L'estensione mysql è deprecata e sarà rimossa in futuro: usa mysqli o PDO invece in /wp-includes/wp-db.php alla riga 1409
Ripetutamente, sto utilizzando la seguente configurazione:
PHP - 5.5.6
MYSQL - 5.5.38
WordPress - 4.0.1
Tutti i miei plugin sono aggiornati e non ce ne sono molti che non ho mai usato prima e questo problema sembra verificarsi solo su questo host quindi ho escluso i plugin. Ho cercato informazioni su questo problema ma non capisco cosa dicono effettivamente le risposte:
Ho bisogno di aiuto per sistemare i permessi e le connessioni mysql
Sembra che qualche utente abbia inserito una password troppo lunga per essere crittografata? E se fosse questo il caso, come dovrei gestirlo, resettando le password di tutti? Qualcuno potrebbe spiegare in termini semplici qual è esattamente il problema?
Questo non ha nulla a che fare con WordPress o con le password dei tuoi utenti.
Ciò che significa è che il tuo server MySQL sta ancora utilizzando il meccanismo di hash delle password vecchio, che è stato modificato in MySQL 4.1. Il client PHP mysqli è più recente e non supporta il vecchio meccanismo delle password. Poiché ciò causa un errore, WordPress torna al vecchio client mysql, che lo supporta ma è deprecato (questo è il terzo messaggio di errore che vedi).
In altre parole, la "password" a cui si riferisce qui non è la password di WordPress, ma la password che usi per connettere WordPress al tuo database. Fondamentalmente, quella username e password nel file wp-config.php.
Ciò che devi fare è cambiare la password per il database stesso alla versione con il nuovo hash. Questo è un po' complesso e, se non hai effettivamente il controllo del server MySQL, potresti non avere accesso per farlo.
Potresti chiedere al tuo host di disabilitare old_passwords, ma se si tratta di un sistema di database condiviso, è probabile che non siano disposti a farlo.
Se hai il controllo del tuo server, consulta questa risposta. Nota che ha ottenuto la risposta al contrario, spiegando come abilitare old_passwords. Tu vuoi fare lo stesso processo di base, ma al contrario, per disabilitare old_passwords e ottenere il meccanismo di hash più lungo invece di quello più breve.
