Prestashop e l’errore sql_mode=only_full_group_by

Le ultime versioni di MySQL sono impostate con sql_mode=only_full_group_by e questo blocca le versioni non aggiornate di prestashop, perché tale impostazione richiede che le query vengano effettuate in modo differente.

Una soluzione indolore, senza dover richiedere variazioni lato server, è la modifica del file classes/db/DbPDO.php aggiungendo alla fine della funzione public function connect() il codice per modificare l’impostazione MySQL.

In particolare alla fine della funzione bisogna aggiungere il segguente codice:
// disable ONLY_FULL_GROUP_BY
if ($this->link->exec('set session sql_mode=\'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'') === false)
die(Tools::displayError('PrestaShop Fatal error'));

return $this->link;

enjoy!

Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Commenta