Jump to content

Edit History

tyler06_34

tyler06_34

Bonjour,

Je suis face à un problème sur mon prestashop 1.7.6.0.

Ma configuration est :

Version du logiciel serveur : Apache

Version de PHP : 7.3.33

Limite de mémoire : 2048M

Temps maximal d'exécution : 1800

Taille max. pour envoi de fichiers : 128M

 

Tout fonctionne correctement sauf dès lors que je tente d'accéder à l'onglets Paniers via le menu Commandes dans le Back Office... A partir de ce moment là, une tâche s'éxécute pendant un gros laps de temps puis je pars en erreur 500.

J'ai rapatrié le site en local pour debug et j'obtiens l'erreur :

[Mon Jun 30 17:55:39.048229 2025] [php7:error] [pid 11228:tid 1852] [client ::1:64553] PHP Fatal error:  Allowed memory size of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in C:\\xampp\\htdocs\\monsite\\classes\\CartRule.php on line 614, referer: https://localhost/monsite/bvyw0vtvldytuvjr/index.php?controller=AdminDashboard&token=bb7603c702da9c2ea6cdea1f4d61394e

J'ai nettoyé en SQL les tables statistiques, les tables de paniers abandonnés non liées à des commandes. Dans la table ps_cart j'ai uniquement 800 lignes.

Je suis donc allé voir ce que m'indique CartRule.php on line 614 et j'ai donc cet appel (en gras la ligne 614) :

    public function getProductRules($id_product_rule_group)
    {
        if (!Validate::isLoadedObject($this) || $this->product_restriction == 0) {
            return array();
        }

        $productRules = array();
        $results = Db::getInstance()->executeS('
        SELECT *
        FROM ' . _DB_PREFIX_ . 'cart_rule_product_rule pr
        LEFT JOIN ' . _DB_PREFIX_ . 'cart_rule_product_rule_value prv ON pr.id_product_rule = prv.id_product_rule
        WHERE pr.id_product_rule_group = ' . (int) $id_product_rule_group);
        foreach ($results as $row) {
            if (!isset($productRules[$row['id_product_rule']])) {
                $productRules[$row['id_product_rule']] = array('type' => $row['type'], 'values' => array());
            }
            $productRules[$row['id_product_rule']]['values'][] = $row['id_item'];
        }

        return $productRules;
    }

 

Avez vous une piste sur laquelle je pourrai investiguer ?

 

Merci beaucoup pour votre aide.


 


 

tyler06_34

tyler06_34

Bonjour,

Je suis face à un problème sur mon prestashop 1.7.6.0.

Ma configuration est :

Version du logiciel serveur : Apache

Version de PHP : 7.3.33

Limite de mémoire : 2048M

Temps maximal d'exécution : 1800

Taille max. pour envoi de fichiers : 128M

 

Tout fonctionne correctement sauf dès lors que je tente d'accéder à l'onglets Paniers via le menu Commandes dans le Back Office... A partir de ce moment là, une tâche s'éxécute pendant un gros laps de temps puis je pars en erreur 500.

J'ai rapatrié le site en local pour debug et j'obtiens l'erreur :

[Mon Jun 30 17:55:39.048229 2025] [php7:error] [pid 11228:tid 1852] [client ::1:64553] PHP Fatal error:  Allowed memory size of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in C:\\xampp\\htdocs\\monsite\\classes\\CartRule.php on line 614, referer: https://localhost/monsite/bvyw0vtvldytuvjr/index.php?controller=AdminDashboard&token=bb7603c702da9c2ea6cdea1f4d61394e

J'ai nettoyé en SQL les tables statistiques, les tables de paniers abandonnés non liées à des commandes. Dans la table ps_cart j'ai uniquement 800 lignes.

Je suis donc allé voir ce que m'indique CartRule.php on line 614 et j'ai donc cet appel (en gras la ligne 614) :

    public function getProductRules($id_product_rule_group)
    {
        if (!Validate::isLoadedObject($this) || $this->product_restriction == 0) {
            return array();
        }

        $productRules = array();
        $results = Db::getInstance()->executeS('
        SELECT *
        FROM ' . _DB_PREFIX_ . 'cart_rule_product_rule pr
        LEFT JOIN ' . _DB_PREFIX_ . 'cart_rule_product_rule_value prv ON pr.id_product_rule = prv.id_product_rule
        WHERE pr.id_product_rule_group = ' . (int) $id_product_rule_group);
        foreach ($results as $row) {
            if (!isset($productRules[$row['id_product_rule']])) {
                $productRules[$row['id_product_rule']] = array('type' => $row['type'], 'values' => array());
            }
            $productRules[$row['id_product_rule']]['values'][] = $row['id_item'];
        }

        return $productRules;
    }

 

Avez vous une piste sur laquelle je pourrai investiguer ?

 

Merci beaucoup pour votre aide.


 


 

×
×
  • Create New...