Nouvelle installation : erreur sur les ajouts d'images



  • Bonjour à tous,

    Je viens d'installer Phoenix 1.6.2.34 sur un serveur O2Switch.
    Quand j'essaie de charger une image sur un produit, j'obtiens une erreur sans message d'erreur
    Capture d’écran 2025-05-08 094747.jpg

    et dans la console
    Error: An unexpected error occurred

    Il s'agit d'une nouvelle installation, aucune modification du thème ni d'ajout de modules.
    Puis j'ai installé PS 1.6.24 sur le même serveur pour comparer, l'ajout d'image ne pose pas de problèmes.

    Une idée ?

    Merci

    Christophe



  • Bonjour,
    1- Activez le mode debug (en haut à droite)
    2- Dans la console, onglet Réseau =>Xhr, regardez la réponse lorsque l'image est envoyée
    3- Pas de détail concernant le message d'erreur js ?



  • Voici la réponse
    <br />
    <b>Fatal error</b>: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in /home2/sc1smri0171/phoenix/controllers/admin/AdminProductsController.php:6975
    Stack trace:
    #0 /home2/sc1smri0171/phoenix/controllers/admin/AdminProductsController.php(6975): in_array()
    #1 /home2/sc1smri0171/phoenix/classes/controller/AdminController.php(1053): AdminProductsControllerCore->ajaxProcessaddProductImage()
    #2 /home2/sc1smri0171/phoenix/controllers/admin/AdminProductsController.php(2455): AdminControllerCore->postProcess()
    #3 /home2/sc1smri0171/phoenix/classes/controller/Controller.php(325): AdminProductsControllerCore->postProcess()
    #4 /home2/sc1smri0171/phoenix/classes/Dispatcher.php(427): ControllerCore->run()
    #5 /home2/sc1smri0171/phoenix/admin671kbquqr/index.php(81): DispatcherCore->dispatch()
    #6 {main}
    thrown in <b>/home2/sc1smri0171/phoenix/controllers/admin/AdminProductsController.php</b> on line <b>6975</b><br />



  • ok,
    Allez dans la page Préférences => Produits et enregistrer votre choix de légende par défaut:
    83d87dea-3e35-4980-a109-4e62e90a1a49-image.png



  • @eolia ça marche, un grand merci !



  • Ces nouveaux paramètres n'étaient pas enregistrés par défaut, ça sera le cas dans les prochaines versions ;)



  • Toujours sur la même installation sans modification, j'ai une erreur quand je veux afficher une des caractéristiques (la modification fonctionne) .
    [ SQL ERROR ]
    Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '<>'

    UPDATE ps_feature_value a
    JOIN (
    SELECT fvl.id_feature_value, fvl.value, IF(@prev <> fvl.value, @rn:=0,@rn),
    @prev:=fvl.value, @rn:=@rn+1 AS rn
    FROM ps_feature_value_lang fvl
    INNER JOIN ps_feature_value fv
    ON(fvl.id_feature_value = fv.id_feature_value),
    (SELECT @rn:=0) rn, (SELECT @prev:='') prev
    WHERE fvl.id_lang = 1
    AND fv.id_feature = 2
    ORDER BY fvl.value
    ) b ON(a.id_feature_value = b.id_feature_value)
    SET a.position = b.rn

    DbCore->displayError in /classes/db/Db.php:458
    DbCore->query in /classes/db/Db.php:650
    DbCore->execute in /classes/FeatureValue.php:377
    FeatureValueCore::cleanPositions in /controllers/admin/AdminFeaturesController.php:889
    AdminFeaturesControllerCore->initProcess in /classes/controller/AdminController.php:3504
    AdminControllerCore->init in /classes/controller/Controller.php:313
    ControllerCore->run in /classes/Dispatcher.php:427
    DispatcherCore->dispatch in /admin671kbquqr/index.php:81


  • Hum... toutes vos tables n'ont pas le même charset ?
    Normalement elles sont toutes (sauf éventuellement celles des modules tiers) en utf8mb4_general_ci
    60299d82-a4b2-47d4-9c10-8cc784f0de83-image.png



  • Quelques tables ne sont pas en utf8mb4_general_ci
    Capture d’écran 2025-05-09 104614.jpg



  • il serait bon de toutes les mettre dans le même charset (au moins celles concernant les features).
    Là vous voyez l'erreur car vous êtes en mode debug

    l'utf8mb4_unicode_ci ou l'utf8mb3_general_ci n'autorisent pas toutes les émoticônes existantes en utf8mb4.



  • Problème résolu, support au top !


Se connecter pour répondre