Error LiteSpeed Cache PrestaShop y One Page Checkout

Si en PrestaShop v 1.7.x instalas el módulo One Page Checkout junto a LiteSpeed Cache para PrestaShop, se producen errores cuando te logueas en la página al hacer el pago.


Los errores que se registran en el error_log son los siguientes (donde "username" es tu usuario de cPanel):



Fatal error: Uncaught Symfony\Component\Debug\Exception\ContextErrorException: Notice: Undefined property: DbPDO::$link in /home/username/public_html/classes/db/DbPDO.php:166
Stack trace
n#0 /home/username /public_html/classes/db/Db.php(376): DbPDOCore->_query('SELECT c.`id_cu...')\

n#1 /home/username/public_html/classes/db/Db.php(663): DbCore->query('SELECT c.`id_cu...')\

n#2 /home/username/public_html/classes/db/Db.php(697): DbCore->getRow('SELECT c.`id_cu...', true)\

n#3 /home/username/public_html/classes/Customer.php(841): DbCore->getValue('SELECT c.`id_cu...')\

n#4 /home/username/public_html/classes/Customer.php(1281): CustomerCore::checkPassword('2331', '$2y$10$iT3d15YA...')\

n#5 /home/username/public_html/modules/litespeedcache/classes/VaryCookie.php(299): CustomerCore->isLogged()\

n#6 /home/username/public_html/modules/litespeedcache/classes/VaryCookie.php(78): LiteSpeedCacheVaryCookie->init(Object(Context), Object(Cookie))\

n#7 /home/username /public_html/staging/mo in /home/username/public_html/classes/db/DbPDO.php on line 166\n



El error se produce en la línea 166 del archivo:


/classes/db/DbPDO .php


protected function _query($sql)
{
        return $this->link->query($sql);
}


El problema es que link, que es la conexión a la base de datos, no existe en ese archivo.



Solución al error: crear un override

Lo podemos resolver temporalmente creando un override, creando el archivo /override/classes/db/DbPDO .php


<?php

class DbPDO extends DbPDOCore
{
    protected function _query($sql)
    {
        if (empty($this->link)) {
            $this->connect();
        }

        return parent::_query($sql);
    }
}

Gracias @pablo-madagascar por ofrecernos esta solución