You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2016-03-04 18:13:48

pierrot_77
Member
Registered: 2016-03-04
Posts: 15

Erreurs php et mysql dans l'onglet "traitement du ticket"

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

#2 2016-03-07 13:29:06

pierrot_77
Member
Registered: 2016-03-04
Posts: 15

Re: Erreurs php et mysql dans l'onglet "traitement du ticket"

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

#3 2016-03-07 18:34:58

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: Erreurs php et mysql dans l'onglet "traitement du ticket"

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

#4 2016-03-08 11:15:47

pierrot_77
Member
Registered: 2016-03-04
Posts: 15

Re: Erreurs php et mysql dans l'onglet "traitement du ticket"

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

#5 2016-03-08 19:19:14

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: Erreurs php et mysql dans l'onglet "traitement du ticket"

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

#6 2016-04-25 16:50:44

nicolas.moreau
Member
Registered: 2016-04-25
Posts: 1

Re: Erreurs php et mysql dans l'onglet "traitement du ticket"

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

#7 2016-11-10 16:44:53

slyder49
Member
Registered: 2016-08-17
Posts: 4

Re: Erreurs php et mysql dans l'onglet "traitement du ticket"

Solution donné sur autre topic : http://forum.glpi-project.org/viewtopic.php?id=138274  => passer en 9.1 et ca corrige le pb

Offline

Board footer

Powered by FluxBB