You are not logged in.
Bonjour,
J'ai installé glpi 0.90.1 sur un serveur linux CentOS 7 avec succès.
J'ai importé dessus une base de données que j'avais paramétrée en local sur mon PC windows.
J'ai également installé le plugin formcreator 1.3.3.
Mon GLPI linux est donc identique à ma version locale.
Cependant, en me baladant un peu dessus je suis tombé sur un problème.
Je clique sur "ticket" -> "traitement du ticket" pour un ticket lamba et la page n'affiche rien, elle reste sur "Chargement..." indéfiniment.
Des erreurs PHP et MySQL apparaissent dans les logs php et dans /files/log/sql-errors.log:
logs PHP
Fatal error: Call to a member function fetch_assoc() on a non-object in /var/www/html/glpi/inc/dbmysql.class.php on line 280
/files/log/sql-errors.log
Error: Expression #1 of ORDER BY clause is not in SELECT list, references column 'glpi_sint.glpi_tickets.date_mod' which is not in SELECT list; this is incompatible with DISTINCT
Error: Expression #1 of ORDER BY clause is not in SELECT list, references column 'glpi_sint.glpi_problems.date_mod' which is not in SELECT list; this is incompatible with DISTINCT
Error: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'allactors.type' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Je n'ai pas ces erreurs sous windows.
Pouvez-vous m'aider svp?
Merci d'avance.
PS: la version de MySQL sur mon serveur est 5.7 et en local 5.6
Last edited by pierrot_77 (2016-03-04 18:36:13)
Offline
Le problème semble venir de MySQL 5.7.
Les requêtes SQL qui provoquent des erreurs sous MySQL 5.7 passent correctement avec MySQL 5.6.
J'ai donc désinstallé MySQL 5.7 pour MySQL 5.6 et les bugs ont disparus...
Offline
MySQL 5.7 a complètement cassé la compatibilité.
GLPI recommande de passer à MariaDB qui est OpenSource (vous pouvez même utiliser la version 10.1)
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour,
Merci pour votre réponse.
Je vais devoir rester sur MySQL 5.6 car il semble bien fonctionner et nous n'utilisons pas mariaDB chez nous.
Offline
Je vais regarder pour rentre glpi compatible MySQL 5.7
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Bonjour,
Juste pour précision, MySQL essaye d'améliorer la prise en compte des standards SQL..
La variable SQL_MODE contient par défaut en 5.7 :
select @@sql_mode\G
*************************** 1. row ***************************
@@sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Le problème vient du mode ONLY_FULL_GROUP_BY. Il suffit de le supprimer
modification à chaud mais non persistente :
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
Pour le faire persister il faut le mettre dans le fichier de configuration my.cnf et vérifier la bonne prise en compte du paramètre.
Offline
Solution donné sur autre topic : http://forum.glpi-project.org/viewtopic.php?id=138274 => passer en 9.1 et ca corrige le pb
Offline