Jump to content

Désactiver le STRICT_TRANS_TABLE et NO_ZERO_IN_DATE


Recommended Posts

bonjour je suis hebergé chez OXITO, mon site vient d'être migré vers un nouveau serveur (mutualisé) sur ce dernier les paramètres SQLMODE sont bloqués et différents des anciens serveurs

Ils sont positionnés à STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION.

 

De ce fait je n'arrives plus à créer d'enregistrement et le site plante à la création de commande en 500 sur la page de paiement

Incorrect datetime value: '0000-00-00 00:00:00' for column 'invoice_date' at row 1

J'ai déjà eu ce soucis avec un autre site sous thelia j'ai palié au problème en ajoutant ces lignes au moment de la connection à la base de donnée lors de l'ouverture de session

                mysql_query("SET NAMES UTF8", self::$db_handle);
                mysql_query("SET  @@SESSION.sql_mode='NO_ENGINE_SUBSTITUTION'", self::$db_handle);

est il possible de faire la meme chose sous presta ?

merci

Link to comment
Share on other sites

J'ai trouvé voici la soluce si quelqu'un rencontre  le pb

dans classes/db/DbPDO.php,

ajouter en ligne 77       

    if ($this->link->exec('set session sql_mode=\'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'') === false)
                die(Tools::displayError('PrestaShop Fatal error'));   

 

j'espere ne pas avoir fait de bêtise ?

 

Link to comment
Share on other sites

De mémoire ce sont les paramètres par défaut de MySQL 5.7 qui en outre ne permet pas de faire fonctionner un prestashop en mode natif car les jointures selon la syntaxe "legacy" ne sont plus acceptées. Donc si c'est bien le cas un MySQL en teinte native sans possibilité de changer ces réglages tu risques de rencontrer d'autres problèmes

Link to comment
Share on other sites

SELECT list is not in GROUP BY clause and contains nonaggregated column 'nb_downloadable' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

Il faut désactiver ONLY_FULL_GROUP_BY (ce qui est le défaut en 5.6, mais pas en 5.7)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...