JLvsPS Posted November 4, 2016 Share Posted November 4, 2016 (edited) Bonjour, J'utilise la version 1.6.1.7 Quand j'ai ouvert le backoffice, j'ai vu que 3 modules devaient être mis à jour. J'ai lancé cette mise à jour et obtenu une erreur. Je ne peux plus entrer dans la page modules sans avoir cette erreur : Parse error: syntax error, unexpected '[' in /var/www/prestashop/classes/module/Module.php(1361) : eval()'d code on line 108 Parse error: syntax error, unexpected '[' in /var/www/prestashop/modules/statsdata/statsdata.php on line 108 [PrestaShop] Fatal error in module file :/var/www/prestashop/modules/statsdata/statsdata.php:syntax error, unexpected '[' ni en frontoffice à cause de cette erreur : Parse error: syntax error, unexpected '[' in /var/www/prestashop/modules/statsdata/statsdata.php on line 108 J'ai regardé le module statsdata et la ligne 108 se trouve après un test if (_PS_VERSION_ >= 1.7) dans lequel je ne devrais passer puisqu'en 1.6.1.7 Evidemment je ne comprends pas ! Quelqu'un peut m'éclairer ? Merci d'avance. Edited November 4, 2016 by JLvsPS (see edit history) Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 4, 2016 Share Posted November 4, 2016 Paste les lignes ~100 à 116 de la classe...ou la classe au complet, mais ça pourrait être long donc... Martin. Link to comment Share on other sites More sharing options...
JLvsPS Posted November 4, 2016 Author Share Posted November 4, 2016 (edited) Voici les lignes de 101 à 111 du fichier statsdata.php 101 - private function getScriptPlugins($params)102 - {103 - if (!isset($params['cookie']->id_guest)) {104 - Guest::setNewGuest($params['cookie']);105106 - if (Configuration::get('PS_STATSDATA_PLUGINS')) {107 - if (_PS_VERSION_ >= 1.7) {108 - $this->context->controller->registerJavascript('modules-plugindetect', 'modules/'.$this->name.'/js/plugindetect.js', ['position' => 'bottom', 'priority' => 150]);109 - } else {110 - $this->context->controller->addJS($this->_path.'js/plugindetect.js');111 - } Edited November 4, 2016 by JLvsPS (see edit history) Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 4, 2016 Share Posted November 4, 2016 Hmmm...Le tableau dans la ligne 108 est en short syntax, si je ne m'abuse (Vraiment weird comme expression quand on l'écris celle-là. Qui est-ce qui s'abuse et c'est quoi le lien avec se tromper...not the point here), la short syntax est de version PHP 5.4 et plus. Votre serveur est peut être en version << que 5.4 (Plus supporté) 2 options s'offre à vous. Le code sera toujours invalide, même s'il ne passe pas dans le if c'est une erreur de syntax celles-ci ne peuvent être évité. Donc soit : Vous mettez votre compte sur serveur à la version PHP 5.4 et plus. Je vous conseil fortement d'en parler avec votre hébergeur si vous êtes en dessous de cette version. Même en 5.4 vous êtes en retard. Les version courante en ce moment sont : 5.6 et 7. (Ayant un prestashop 1.6.1.7, je conseils fortement php 7, la performance a été beaucoup travaillé dans cette version! De plus...si vous êtes sous 5.4, vous êtes en retard pas mal! À parler avec votre hébergeur, crucial) Quick fix : Changer la définition du tableau de : ['position' => 'bottom', 'priority' => 150] à array('position' => 'bottom', 'priority' => 150) Le quick fix est à faire pour le moment, entre temps, mais il faut absolument valider que votre Version PHP est 5.6 ou plus, ça juste pas d'allure qu'un hébergeur vous garde sous ce seuil. Cordialement, Martin. . Link to comment Share on other sites More sharing options...
JLvsPS Posted November 4, 2016 Author Share Posted November 4, 2016 J'ai utilisé votre quickfix et le problème est résolu. J'ai vérifié, la version de PHP qui tourne sur le serveur est 5.3.3... Je vais leur demander un upgrade. Merci pour votre aide rapide et efficace. Cordialement, Jean-Louis Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 4, 2016 Share Posted November 4, 2016 Je crois que vous pouvez marquer ma réponse comme solution approuvé et marquer le sujet comme répondu. Cordialement, Martin. Link to comment Share on other sites More sharing options...
JLvsPS Posted November 4, 2016 Author Share Posted November 4, 2016 Je pense avoir marqué le sujet résolu mais comment indique-t-on votre réponse comme solution approuvée ? JL Link to comment Share on other sites More sharing options...
Martin Uker K Posted November 4, 2016 Share Posted November 4, 2016 bah, vous avez trouvé! C'est fonctionnel. Merci! Link to comment Share on other sites More sharing options...
sinkhole Posted November 29, 2016 Share Posted November 29, 2016 Merci pour ce fix, notre problème est corrigé, nous allons aussi upgrader notre version de PHP. Cordialement, Marc. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now