- Posts: 73
- Thank you received: 0
Warning: Invalid argument supplied for foreach()
14 years 1 week ago #66744
by ppt-Com
Warning: Invalid argument supplied for foreach() was created by ppt-Com
Bonjour,
depuis l'installation de la dernière version, j'ai des soucis d'invalid argument
sur le front end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/components/com_hikashop/views/category/view.html.php on line 340
sur l'affichage des articles d'une catégorie
sur le front end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/components/com_hikashop/views/product/view.html.php on line 909
sur l'affichage de la fiche produit
sur le back end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/administrator/components/com_hikashop/types/breadcrumb.php on line 17
et
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/administrator/components/com_hikashop/types/breadcrumb.php on line 26
sur le lien produits => produits
sur le back end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/administrator/components/com_hikashop/views/product/tmpl/category.php on line 46
dans la zone catégories sur la fiche produit
Pouvez vous me dire si il y a un bug sur cette version et comment le fixer ?
Cdlt
Patrick
depuis l'installation de la dernière version, j'ai des soucis d'invalid argument
sur le front end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/components/com_hikashop/views/category/view.html.php on line 340
sur l'affichage des articles d'une catégorie
sur le front end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/components/com_hikashop/views/product/view.html.php on line 909
sur l'affichage de la fiche produit
sur le back end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/administrator/components/com_hikashop/types/breadcrumb.php on line 17
et
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/administrator/components/com_hikashop/types/breadcrumb.php on line 26
sur le lien produits => produits
sur le back end :
Warning: Invalid argument supplied for foreach() in /xxxxxxx/xxxxxxxx/www/administrator/components/com_hikashop/views/product/tmpl/category.php on line 46
dans la zone catégories sur la fiche produit
Pouvez vous me dire si il y a un bug sur cette version et comment le fixer ?
Cdlt
Patrick
Please Log in or Create an account to join the conversation.
14 years 1 week ago #66745
by ppt-Com
Replied by ppt-Com on topic Re: Warning: Invalid argument supplied for foreach()
j'ai réussi à fixer les deux bugs front end avec les infos du sujet
www.hikashop.com/fr/forum/5-support-en-f...gument-supplied.html
mais aucune info sur la partie back end
Si vous pouvez me donner un coup de main.
cdlt
Patrick
Si vous pouvez me donner un coup de main.
cdlt
Patrick
Please Log in or Create an account to join the conversation.
14 years 1 week ago #67020
by nicolas
Replied by nicolas on topic Re: Warning: Invalid argument supplied for foreach()
Nous n'avons pas ce problème de notre coté et je n'ai pas souvenir que quelqu'un d'autre n'ait ce problème dnas le backend.
L'erreur signifie que le système n'arrive pas à récupérer les catégories parente de la catégorie courante.
Je ne vois pas comment c'est possible vu que toutes les catégories ont une catégorie parente outre la catégorie root.
Vous pouvez rajouter la ligne:
if(empty($mainCategories)) return '';
avant la ligne de l'erreur et cela enlèvera les warnings.
L'erreur signifie que le système n'arrive pas à récupérer les catégories parente de la catégorie courante.
Je ne vois pas comment c'est possible vu que toutes les catégories ont une catégorie parente outre la catégorie root.
Vous pouvez rajouter la ligne:
if(empty($mainCategories)) return '';
avant la ligne de l'erreur et cela enlèvera les warnings.
Please Log in or Create an account to join the conversation.
14 years 1 week ago #67059
by ppt-Com
Replied by ppt-Com on topic Re: Warning: Invalid argument supplied for foreach()
Bonjour Nicolas,
j'ai ajouté la ligne et du coup, effectivement l'erreur disparait mais les catégories ne s'affichent plus.
aussi dès que je j'essaie d'ajouter une catogorie (avant l'ajout de la ligne), j'ai ce warning qui apparait
Warning: implode() [function.implode]: Invalid arguments passed in /xxxxxxxx/xxxxxxxxx/www/administrator/components/com_hikashop/views/product/tmpl/addcategory.php on line 28
Cdlt
Patrick
j'ai ajouté la ligne et du coup, effectivement l'erreur disparait mais les catégories ne s'affichent plus.
aussi dès que je j'essaie d'ajouter une catogorie (avant l'ajout de la ligne), j'ai ce warning qui apparait
Warning: implode() [function.implode]: Invalid arguments passed in /xxxxxxxx/xxxxxxxxx/www/administrator/components/com_hikashop/views/product/tmpl/addcategory.php on line 28
Cdlt
Patrick
Please Log in or Create an account to join the conversation.
14 years 1 week ago #67171
by nicolas
Replied by nicolas on topic Re: Warning: Invalid argument supplied for foreach()
Bonjour,
Vous avez un problème avec vos catégories.
Elles ne sont pas liés à des catégories parentes ce qui ne devrait pas être possible.
D'où les warnings de-ci de-là.
Avez vous toujours la catégorie root ? Avez vous l'id de la catégorie root dans le champs category_parent_id de vos catégories de premier niveau dans la table hikashop_category ?
Si non, alors il faut corriger les catégories.
Vous avez un problème avec vos catégories.
Elles ne sont pas liés à des catégories parentes ce qui ne devrait pas être possible.
D'où les warnings de-ci de-là.
Avez vous toujours la catégorie root ? Avez vous l'id de la catégorie root dans le champs category_parent_id de vos catégories de premier niveau dans la table hikashop_category ?
Si non, alors il faut corriger les catégories.
Please Log in or Create an account to join the conversation.
14 years 1 week ago #67183
by ppt-Com
Replied by ppt-Com on topic Re: Warning: Invalid argument supplied for foreach()
Bonsoir Nicolas
j'ai regardé, tout est bien lié, root=>catégorie=>souscatégorie1=>souscatégorie2
j'ai réinstallé sur un site de préproduction chez un autre hébergeur et je n'ai aucun souci
cela serait il du à la version de php de l'hébergeur ?
cdlt
Patrick
j'ai regardé, tout est bien lié, root=>catégorie=>souscatégorie1=>souscatégorie2
j'ai réinstallé sur un site de préproduction chez un autre hébergeur et je n'ai aucun souci
cela serait il du à la version de php de l'hébergeur ?
cdlt
Patrick
Please Log in or Create an account to join the conversation.
14 years 6 days ago #67286
by nicolas
Replied by nicolas on topic Re: Warning: Invalid argument supplied for foreach()
Quelle est la version de PHP ? Peut être que c'est lié oui.
Please Log in or Create an account to join the conversation.
14 years 6 days ago #67304
by ppt-Com
Replied by ppt-Com on topic Re: Warning: Invalid argument supplied for foreach()
Bonjour
sur la production 5.3.16 (chez OVH)
sur la pré production 5.3.8 (chez esolution web)
Cdlt
Patrick
sur la production 5.3.16 (chez OVH)
sur la pré production 5.3.8 (chez esolution web)
Cdlt
Patrick
Please Log in or Create an account to join the conversation.
14 years 5 days ago #67469
by nicolas
Replied by nicolas on topic Re: Warning: Invalid argument supplied for foreach()
PHP 5.3.16 et 5.3.8 sont très similaire vu qu'ils n'y a quasiment que des bugs fix entre ces versions donc cela m'étonne.
Peut être quelque chose d'autre lié au serveur ?
Les warnings peuvent être facilement cachés. Au pire il suffit de désactiver l'option "error reporting" de la config de joomla. Mais le fait que les catégories ne s'affichent pas il y a vraiment un problème.
Pourriez vous activer le mode debug de la config de joomla et réessayer ?
Peut être qu'il y a une requête SQL qui plante à cause d'un problème de mise à jour de la structure des tables...auquel cas cela affichera un gros message d'erreur là où vous avez le problème d'affichage.
Peut être quelque chose d'autre lié au serveur ?
Les warnings peuvent être facilement cachés. Au pire il suffit de désactiver l'option "error reporting" de la config de joomla. Mais le fait que les catégories ne s'affichent pas il y a vraiment un problème.
Pourriez vous activer le mode debug de la config de joomla et réessayer ?
Peut être qu'il y a une requête SQL qui plante à cause d'un problème de mise à jour de la structure des tables...auquel cas cela affichera un gros message d'erreur là où vous avez le problème d'affichage.
Please Log in or Create an account to join the conversation.
14 years 5 days ago #67512
by ppt-Com
Replied by ppt-Com on topic Re: Warning: Invalid argument supplied for foreach()
Bonjour,
voici ce que ressort le debug
je vous joint en pièce jointe l'ensemble du resultat quand je vais sur la page des produit
Cdlt
Patrick
voici ce que ressort le debug
je vous joint en pièce jointe l'ensemble du resultat quand je vais sur la page des produit
This attachment is hidden for guests.
Please log in or register to see it.
Please log in or register to see it.
Cdlt
Patrick
Please Log in or Create an account to join the conversation.
14 years 5 days ago - 14 years 5 days ago #67515
by ppt-Com
Replied by ppt-Com on topic Re: Warning: Invalid argument supplied for foreach()
ce que je constate d'après la log et l'erreur SQL, c'est qu'il n'y a pas assez de mémoire sur le serveur pour executer la requete, pouvez vous confirmer cela ?
voici le retour de ovh
InnoDB est activé mais n'est pas utilisé
Ajoutez skip-innodb dans votre configuration MySQL pour désactiver InnoDB
Démarrez OPTIMIZE TABLE pour défragmenter les tables pour obtenir de meilleures performances
Activez les logs slow query pour mettre en évidence des éventuelles mauvaises requêtes
Optimisez vos jointures de requêtes pour toujours utiliser des index
Augmentez votre tmp_table_size (>1M) et votre max_heap_table_size (>16M)
Mettez le thread_cache_size à 4 pour commencer
Augmentez table_cache petit à petit pour empêcher les limites de file descriptor
voici un extrait du my.cnf
skip-innodb
join_buffer_size = 256K
tmp_table_size = 2M
max_heap_table_size = 32M
thread_cache_size = 4
table_open_cache = 8
Cdlt
Patrick
voici le retour de ovh
InnoDB est activé mais n'est pas utilisé
Ajoutez skip-innodb dans votre configuration MySQL pour désactiver InnoDB
Démarrez OPTIMIZE TABLE pour défragmenter les tables pour obtenir de meilleures performances
Activez les logs slow query pour mettre en évidence des éventuelles mauvaises requêtes
Optimisez vos jointures de requêtes pour toujours utiliser des index
Augmentez votre tmp_table_size (>1M) et votre max_heap_table_size (>16M)
Mettez le thread_cache_size à 4 pour commencer
Augmentez table_cache petit à petit pour empêcher les limites de file descriptor
voici un extrait du my.cnf
skip-innodb
join_buffer_size = 256K
tmp_table_size = 2M
max_heap_table_size = 32M
thread_cache_size = 4
table_open_cache = 8
Cdlt
Patrick
Last edit: 14 years 5 days ago by ppt-Com.
Please Log in or Create an account to join the conversation.
14 years 5 days ago #67610
by nicolas
Replied by nicolas on topic Re: Warning: Invalid argument supplied for foreach()
Bonjour,
L'erreur est donc:
Out of sort memory; increase server sort buffer size.
Il faut donc augmenter la valeur de sort_buffer_size dans my.cnf
L'erreur est donc:
Out of sort memory; increase server sort buffer size.
Il faut donc augmenter la valeur de sort_buffer_size dans my.cnf
Please Log in or Create an account to join the conversation.
Time to create page: 0.195 seconds