Extraction de rapport erreur

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #248876

-- HikaShop version -- : 2.6.0
-- Joomla version -- : 3.4.5
-- PHP version -- : 5.6
-- Browser(s) name and version -- : Chrome
-- Error-message(debug-mod must be tuned on) -- : Ce site est inaccessible

Il se peut que la page Web à l'adresse monsite.com/administrator/index.php?opti...=report&task=csv&cid []=22&d9ecebd619dfde1159bd0e52f141509e=1 soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web.
ERR_INVALID_RESPONSE

Bonjour,

je n'ai pas trouvé la solution sur le forum ni ailleurs...
Pour les besoins de notre compta je souhaite extraire un rapport personnalisé de la liste des commandes du mois et de leurs montants.

Tout a toujours bien fonctionné, jusqu'à maintenant (sans modification effectuée).
Lorsque je clique sur le bouton Exporter aucun fichier n'est généré et j'obtiens une erreur de type ERR_INVALID_RESPONSE

Sur d'autres rapports qui ne sont pas en mode Liste le rapport se génère correctement (Top Sales par exemple).

De même dans "commandes" le bouton exporter fonctionne très bien et m'exporte des fichiers de plusieurs mégaoctets...

Je suis en hébergement mutualisé pro ches OVH avec PHP-FPM activé (ce qui n'a jamais posé de problèmes avant).
Mon max_execution_time est à 300 et memory_limit à 512M ce qui devrait être amplement suffisant...

Là sincèrement je sèche un peu et il faut absolument que nous puissions faire ces exportations car nous devons clore l'exercice comptable pour fin du mois...

Je vous joins une capture de l'erreur et de la config du Rapport en question (que j'ai supprimé/recréé plusieurs fois en vain)

En vous remerciant par avance.

Attachments:
Last edit: 7 years 7 months ago by maxlamenaxme.

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
7 years 7 months ago #248878

Bonjour,

Pouvez-vous faire un test en utilisant Firefox ?
Il peut être aussi intéressant d'ouvrir le panneau de "développement" afin de pouvoir regarder le contenu exact qui a été retourné par le serveur au navigateur (il y a un onglet "Réseau").

Regards,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #248905

Merci pour votre réponse rapide.
J´ai fait une capture, il s´agirait d´une histoire de :

DateTime::__construct(): Failed to parse time string


J´ai fait une rapide recherche, et mes dossiers tmp et logs sont bien configurés avec les CHMOD en 777, et joomla me le confirme dans l´onglet permissions des informations système...

Je m´en remets donc à votre expertise...

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 26000
  • Thank you received: 4004
  • MODERATOR
7 years 7 months ago #248910

Bonjour,

HikaShop va modifier les "headers" afin de signaler au navigateur qu'un fichier va être envoyé.
Mais une erreur survient après et cela stop l'envoie du fichier et va envoyer du contenu qui ne sera pas reconnu par le navigateur.
Vous pouvez regarder dans l'onglet "Response" mais ce qui est certain c'est que vous trouverez plus de détails sur le PHP error log file.

Au niveau de l'erreur ; vous avez une date qui est sauvegardée en base avec un mauvais format.
Et Joomla ne peux pas lire/convertir cette date (qui commence par "Jeu, " ; surement pour "Jeudi").

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #249081

J'ai effectué une recherche dans la BDD pour la valeur Jeu, 26 Nov 15 21:45:56 +0100" qui convertie en timestamp donne 1448570756.

Elle correspond à la date de création du premier utilisateur de la commande apparaissant à la première ligne de mon rapport.
Plus spécifiquement la valeur contenue dans user_created dans la table hikashop_user pour l'utilisateur en question.

J'ai essayé avec un filtre sur une autre période pour le rapport, et le code d'erreur est similaire, mais avec une autre date correspondant à nouveau à l'utilisateur de la première commande de la liste du rapport.

Je ne vois rien d'étrange dans cette date, mais le log indique :

[HTTP/1.1 500 DateTime::__construct(): Failed to parse time string (Mar, 24 Nov 15 21:43:41 +0100) at position 5 (2): Double date specification]

alors qu'avec le filtre initial l'erreur était :
[HTTP/1.1 500 DateTime::__construct(): Failed to parse time string (Jeu, 26 Nov 15 21:45:56 +0100) at position 0 (J): The timezone could not be found in the database]

J'ai vérifié dans phpmyadmin, et les timestamps dans la colonne user_created ont l'air corrects...

Je pense que l'erreur doit venir du fichier widget.php ligne 591 :

Je ne suis pas expert mais j'ai l'impression que la réponse devrait se trouver par là... en particulier au-niveau du

$convert_date = $config->get('convert_date',DATE_RFC822);
qui correspond au format indiqué dans le code d'erreur.
On trouve aussi :
if($convert_date && in_array($field,array('user_created','order_created','order_modified'))) $el->$field=hikashop_getDate($el->$field,$convert_date);
if($field == 'calculated_date')	$el->$field=hikashop_getDate($el->timestamp,'d-M-Y');
qui fait intervenir "user_created" et un format d-M-Y qui à mon sens ne correspond pas au format DATE_RFC822...

Aussi en utilisant Firefox j'ai repéré une seconde erreur Jquery signalée : voir capture attachée.
Elle se situerait dans le fichier www/media/jui/js/jquery.min.js, je n'y ai fait aucune modification...le CHMOD du fichier est 0604 pour info.

En espérant que cela vous mette sur la voie de la solution...

Merci encore.

Attachments:
Last edit: 7 years 7 months ago by Jerome. Reason: [code] is nice ; nice code is great

Please Log in or Create an account to join the conversation.

  • Posts: 81478
  • Thank you received: 13061
  • MODERATOR
7 years 7 months ago #249193

Bonjour,

D'après moi, le soucis n'est pas avec user_created mais avec le timestamp.
Essayez-voir de changer la ligne:
if($field == 'calculated_date') $el->$field=hikashop_getDate($el->timestamp,'d-M-Y');
par:
if($field == 'calculated_date' && is_numeric($el->timestamp)) $el->$field=hikashop_getDate($el->timestamp,'d-M-Y');
dans ce fichier.
Je pense que cela devrait aider.

Please Log in or Create an account to join the conversation.

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #249222

Je viens d'effectuer le changement proposé, aucun changement malheureusement...

Avez-vous une autre idée ?

Merci beaucoup d'avance.

Please Log in or Create an account to join the conversation.

  • Posts: 81478
  • Thank you received: 13061
  • MODERATOR
7 years 7 months ago #249244

Bonjour,

Alors si vous supprimez le code: $el->$field=hikashop_getDate($el->timestamp,'d-M-Y');
Cela change-t-il quelque chose ?
Et si vous supprimez $el->$field=hikashop_getDate($el->$field,$convert_date); ?

Please Log in or Create an account to join the conversation.

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #249309

Ah ! On se rapproche, lorsque j'enlève $el->$field=hikashop_getDate($el->$field,$convert_date); l'extraction fonctionne à nouveau !
J'ai simplement les dates au format "Mar, 24 Nov 15 21:43:41 +0100"
Est-ce que $convert_date poserait problème ?

Please Log in or Create an account to join the conversation.

  • Posts: 81478
  • Thank you received: 13061
  • MODERATOR
7 years 7 months ago #249320

En effet, on avance.
Et si vous changez :
if($convert_date && in_array($field,array('user_created','order_created','order_modified')))
par:
if($convert_date && in_array($field,array('user_created','order_created','order_modified')) && is_numeric($el->$field))
est-ce que cela aide ?

Et sinon, si vous changez DATE_RFC822 par 'd-M-Y' quelques lignes plus haut, est-ce ça aide ?

Please Log in or Create an account to join the conversation.

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #249632

J'ai essayé les deux changements, et aucune incidence pour le premier sur le résultat:

Lorsque je remplace DATE_RFC822 par 'd-M-Y' j'ai bien la date au bon format !

Donc tout refonctionne parfaitement, sujet clos pour moi.

Merci beaucoup pour votre aide !!!

Excellente soirée !

Please Log in or Create an account to join the conversation.

  • Posts: 81478
  • Thank you received: 13061
  • MODERATOR
7 years 7 months ago #249661

Bonjour,

Merci de votre retour. Nous allons faire ce changement par défaut dans HikaShop.

Please Log in or Create an account to join the conversation.

  • Posts: 17
  • Thank you received: 0
7 years 7 months ago #249674

Content d´avoir pu contribuer à l´amélioration continue ! ;)

Please Log in or Create an account to join the conversation.

Time to create page: 0.080 seconds
Powered by Kunena Forum