THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous,
je viens de finaliser l'installation de Thelia en v2.2.2, et j'ai plusieurs erreurs.
Sur index_dev.php, je vois

1/2:

PDOException in StatementWrapper.php line 196: 
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #14 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'thelia.pse.promo' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

2/2:

PropelException in Criteria.php line 2442: 
Unable to execute SELECT statement [SELECT product.ID, product.TAX_RULE_ID, product.REF, product.VISIBLE, product.POSITION, product.TEMPLATE_ID, product.BRAND_ID, product.VIRTUAL, product.CREATED_AT, product.UPDATED_AT, product.VERSION, product.VERSION_CREATED_AT, product.VERSION_CREATED_BY, ROUND(CASE WHEN `pse`.PROMO=1 THEN `price`.PROMO_PRICE ELSE `price`.PRICE END, 2) AS real_price, `price`.PRICE AS price, `price`.PROMO_PRICE AS promo_price, NOT ISNULL(`requested_locale_i18n`.`ID`) AS IS_TRANSLATED, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`TITLE` ELSE `default_locale_i18n`.`TITLE` END AS i18n_TITLE, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`CHAPO` ELSE `default_locale_i18n`.`CHAPO` END AS i18n_CHAPO, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`DESCRIPTION` ELSE `default_locale_i18n`.`DESCRIPTION` END AS i18n_DESCRIPTION, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`POSTSCRIPTUM` ELSE `default_locale_i18n`.`POSTSCRIPTUM` END AS i18n_POSTSCRIPTUM, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`META_TITLE` ELSE `default_locale_i18n`.`META_TITLE` END AS i18n_META_TITLE, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`META_DESCRIPTION` ELSE `default_locale_i18n`.`META_DESCRIPTION` END AS i18n_META_DESCRIPTION, CASE WHEN NOT ISNULL(`requested_locale_i18n`.ID) THEN `requested_locale_i18n`.`META_KEYWORDS` ELSE `default_locale_i18n`.`META_KEYWORDS` END AS i18n_META_KEYWORDS, `SalePriceDisplay`.DISPLAY_INITIAL_PRICE AS display_initial_price, `pse`.ID AS pse_id, `pse`.NEWNESS AS is_new, `pse`.PROMO AS is_promo, `pse`.QUANTITY AS quantity, `pse`.WEIGHT AS weight, `pse`.EAN_CODE AS ean_code, COUNT(`pse_count`.ID) AS pse_count FROM `product` INNER JOIN `product_sale_elements` `pse` ON (product.ID=pse.PRODUCT_ID AND `pse`.IS_DEFAULT=1) INNER JOIN `product_sale_elements` `pse_count` ON (product.ID=pse_count.PRODUCT_ID) LEFT JOIN `product_price` `price` ON (pse.ID=price.PRODUCT_SALE_ELEMENTS_ID AND `price`.`currency_id` = :p1) LEFT JOIN `product_i18n` `default_locale_i18n` ON (product.ID=default_locale_i18n.ID AND `default_locale_i18n`.LOCALE = :p2) LEFT JOIN `product_i18n` `requested_locale_i18n` ON (product.ID=requested_locale_i18n.ID AND `requested_locale_i18n`.LOCALE = :p3) LEFT JOIN `sale_product` `SaleProductPriceDisplay` ON (product.ID=SaleProductPriceDisplay.PRODUCT_ID) LEFT JOIN `sale` `SalePriceDisplay` ON (SaleProductPriceDisplay.SALE_ID=SalePriceDisplay.ID AND `SalePriceDisplay`.`active` = 1) WHERE ((NOT ISNULL(`requested_locale_i18n`.ID) OR NOT ISNULL(`default_locale_i18n`.ID)) AND `pse`.NEWNESS=1) AND product.VISIBLE=:p4 GROUP BY product.ID ORDER BY i18n_TITLE ASC LIMIT 4]


Je peux ajouter les stack traces si vous voulez.
Pour info, ma version de php est 5.6.18, Apache 2.4.16 et mysql 5.7.10

Avez vous une idée de ce qui pose problème ici ?
Merci d'avance

Last edited by melilienua (15-03-2016 12:50:30)

Offline

Offline


Merci ! Réponse ultra rapide et efficace, ça fait plaisir quand on envisage de choisir une nouvelle solution e-commerce.
Bonne journée

Offline


Bonjour,

Je rencontre le même genre de probleme lors de l'installation, juste après l'onglet "General Informations" :

Sorry, an unexpected error occured: SQLSTATE[42000]: Syntax error or access violation: 1227 Access denied; you need (at least one of) the SUPER privilege(s) for this operation
Error details:
#0 /home/feetnessgk/postales-cartes/v2/thelia_2.3.0/core/vendor/propel/propel/src/Propel/Runtime/Connection/PdoConnection.php(98): PDO->query('SET GLOBAL sql_...')
#1 /home/feetnessgk/postales-cartes/v2/thelia_2.3.0/core/vendor/propel/propel/src/Propel/Runtime/Connection/StatementWrapper.php(87): Propel\Runtime\Connection\PdoConnection->query('SET GLOBAL sql_...')
#2 [internal function]: Propel\Runtime\Connection\StatementWrapper->query()
#3 /home/feetnessgk/postales-cartes/v2/thelia_2.3.0/core/vendor/propel/propel/src/Propel/Runtime/Connection/ConnectionWrapper.php(436): call_user_func_array(Array, Array)
#4 /home/feetnessgk/postales-cartes/v2/thelia_2.3.0/core/lib/Thelia/Core/Thelia.php(118): Propel\Runtime\Connection\ConnectionWrapper->query('SET GLOBAL sql_...')
#5 /home/feetnessgk/postales-cartes/v2/thelia_2.3.0/core/lib/Thelia/Core/Thelia.php(63): Thelia\Core\Thelia->initPropel()
#6 /home/feetnessgk/postales-cartes/v2/thelia_2.3.0/web/install/end.php(55): Thelia\Core\Thelia->__construct('install', true)
#7 {main}

J'ai bien saisi la modification à apporter mais... j'ai un serveur chez OVH en PHP 5.4.45 et une BD (SQL Privé) qui ne me permet ni d’accéder à /etc/ pour modifier la configuration de MySQL, ni au niveau de SUPER privilgèges pour exécuter en BD la requete: SET @@GLOBAL.sql_mode='NO_ENGINE_SUBSTITUTION',@@SESSION.sql_mode='NO_ENGINE_SUBSTITUTION'

Pouvez-vous m'indiquer quelles sont mes alternatives ? J'ai une dizaine de sites Thelia 1.541 que je souhaite basculé sous Thelia 2

Offline


Dans le fichier core/lib/Thelia/Core/Thelia.php, peux-tu essayer de commenter cette partie du code, en ligne 111, et nous dire si ça résoud ton problème :

                if ($data['global_sql_mode'] != 'NO_ENGINE_SUBSTITUTION') {
                    $setQuery .= "SET GLOBAL sql_mode='NO_ENGINE_SUBSTITUTION';";
                }

OpenStudio Toulouse

Offline


Merci pour votre réactivité et votre efficacité !
Le fix fonctionne et permet une installation propre.
Par la suite j'ai rencontré des soucis dans les accès admin (internal error) et sur les enregistrements depuis le front-office mais cela a pu être corrigé à l'aide d'un fichier .ovhconfig et en spécifiant

app.engine.version=5.5

Je rencontre néanmoins un dernier souci pour la migration de mes sites : le module ImportT1 est installé, le chemin trouvé mais... le DBhostname ne permet pas de spécifier un port... L'erreur

Failed to connect to database using the parameters below. Please check your input and try again. (SQLSTATE[HY000] [2005] Unknown MySQL server)

apparaît et chez OVH (toujours...) je ne peux changer le port.
Avez-vous une alternative ? Je peux ouvrir un autre thread si nécessaire.
Merci

Offline


Bonjour,

Le mieux serait de faire une Pull Request sur le module https://github.com/thelia-modules/ImportT1

Il est plutôt conseiller de faire les migrations en local, au-moins un test


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


MrGuillou, c'est un problème global, qui n'est pas limité au module d'import.


OpenStudio Toulouse

Offline


Merci pour vos commentaires, j'ai reporté la carence fonctionnelle sous GitHub.

Offline


Bonjour,

Je viens d'installer Thelia 2.3.1 en local en utilisant vagrant, l'installation c'est bien passé j'ai checker toutes les étapes, le visuel est bien présent mais je npeux acceder a la partie admin et tout les formulaires de base (inscription, login, mailing...) me pet une erreur 'The CSRF token is invalid' Je ne comprend pas d'ou cela vient ...
D'autant plus que sur mon serveur de prod l'installation c'est très bien passé et tout fonctionne correctement...

Si quelqu'un a une idée et pourrait me donner un coup de main ?

Merci d'avance