Arnaud Laborde Posted September 14, 2021 Share Posted September 14, 2021 Bonjour, Je rencontre un problème avec une boutique. Elle utilise ShoppingBo pour gérer ses commandes sauf que ces derniers temps cela ne fonctionne plus. Voici l'erreur qui est retournée : <error> <message> <![CDATA[ [PHP Unknown error #8192] array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead (/home/idXXX/public_html/src/Adapter/EntityMapper.php, line 99) ]]> </message> </error> Après quelques recherches, je sais que c'est surement dû à la version de PHP et en effet, mon serveur n'est pas sur la bonne version. Il utilise php 7.4 et pour prestashop 1.7 il faut php 7.3. J'ai tenté de modifier la version php de mon serveur sauf que je me retrouve avec une erreur 500 sur mon site. Est-ce que quelqu'un aurai une idée ? Merci d'avance pour votre aide Link to comment Share on other sites More sharing options...
joseantgv Posted September 14, 2021 Share Posted September 14, 2021 Placez la version 7.3 de PHP, videz le cache et testez. Si vous obtenez une erreur 500, activez le mode DEBUG. Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted September 14, 2021 Author Share Posted September 14, 2021 (edited) Bonjour, Merci pour votre réponse. Voici l'erreur que j'obtien : [PrestaShopDatabaseException] Unknown MySQL error<br /><br /><pre>SELECT s.id_shop, CONCAT(su.physical_uri, su.virtual_uri) AS uri, su.domain, su.main FROM by_shop_url su LEFT JOIN by_shop s ON (s.id_shop = su.id_shop) WHERE (su.domain = 'belym.com' OR su.domain_ssl = 'belym.com') AND s.active = 1 AND s.deleted = 0 ORDER BY LENGTH(CONCAT(su.physical_uri, su.virtual_uri)) DESC</pre> at line 769 in file classes/db/Db.php 764. if ($webservice_call && $errno) { 765. $dbg = debug_backtrace(); 766. WebserviceRequest::getInstance()->setError(500, '[SQL Error] ' . $this->getMsgError() . '. From ' . (isset($dbg[3]['class']) ? $dbg[3]['class'] : '') . '->' . $dbg[3]['function'] . '() Query was : ' . $sql, 97); 767. } elseif (_PS_DEBUG_SQL_ && $errno && !defined('PS_INSTALLATION_IN_PROGRESS')) { 768. if ($sql) { 769. throw new PrestaShopDatabaseException($this->getMsgError() . '<br /><br /><pre>' . $sql . '</pre>'); 770. } 771. 772. throw new PrestaShopDatabaseException($this->getMsgError()); 773. } 774. } Comment je désactive le mode débug sans passer par le backoffice ? (je sais que c'est possible mais je me souviens plus dans quel fichier c'est) Edit : pour désactiver le mode debug, c'est dans le fichier ./config/defines.inc.php puis à la 2ème ligne, passer de true à false if (!defined('_PS_MODE_DEV_')) { define('_PS_MODE_DEV_', false); } Edited September 14, 2021 by Arnaud Laborde (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted September 23, 2021 Share Posted September 23, 2021 Pourriez-vous télécharger une capture d'écran de l'erreur ? Link to comment Share on other sites More sharing options...
hshaker Posted September 23, 2021 Share Posted September 23, 2021 Try to vider le cache complet (recompiler PrestaShop) après le passage de PHP 7.4 à 7.3 Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted September 28, 2021 Author Share Posted September 28, 2021 Bonjour, J'ai testé en désactivant le cache, vider le cache et recompiler mais j'ai toujours la même erreur. Voici une capture d'écran de l'erreur. 1 Link to comment Share on other sites More sharing options...
hshaker Posted September 28, 2021 Share Posted September 28, 2021 (edited) Il y a 12 heures, Arnaud Laborde a dit : Bonjour, J'ai testé en désactivant le cache, vider le cache et recompiler mais j'ai toujours la même erreur. Voici une capture d'écran de l'erreur. Met PHP version 7.3 Il y a 12 heures, Arnaud Laborde a dit : Bonjour, J'ai testé en désactivant le cache, vider le cache et recompiler mais j'ai toujours la même erreur. Voici une capture d'écran de l'erreur. Si tu change la version php il faut penser à aller supprimer tous les fichiers dans ROOT/var/cache/ Edited September 28, 2021 by hshaker (see edit history) Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted September 29, 2021 Author Share Posted September 29, 2021 Il y a 13 heures, hshaker a dit : Met PHP version 7.3 Si tu change la version php il faut penser à aller supprimer tous les fichiers dans ROOT/var/cache/ J'ai testé 7.3 et 7.2, rien n'y fait (et j'ai bien supprumer tout les fichier var/cache), j'ai exactement la même erreur. Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 29, 2021 Share Posted September 29, 2021 Bonjour, cette erreur est strictement lié à votre version PHP donc mettez PHP 7.2 convenablement en validant bien que votre espace d'hébergement l'utilise bien sur votre boutique. Link to comment Share on other sites More sharing options...
hshaker Posted September 29, 2021 Share Posted September 29, 2021 il y a 53 minutes, Mediacom87 a dit : Bonjour, cette erreur est strictement lié à votre version PHP donc mettez PHP 7.2 convenablement en validant bien que votre espace d'hébergement l'utilise bien sur votre boutique. Tout-à-fait correcte. Et penser à contrôler les accès datas bases Et que toute les tables elles sont présents dans la db Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted September 29, 2021 Author Share Posted September 29, 2021 il y a 57 minutes, Mediacom87 a dit : Bonjour, cette erreur est strictement lié à votre version PHP donc mettez PHP 7.2 convenablement en validant bien que votre espace d'hébergement l'utilise bien sur votre boutique. Bonjour, qu'entendez vous par "convenablement" et par "votre hébergement l'utilise bien sur votre boutique" ? J'ai fait un fichier info.php avec dedans <?php phpinfo() ?> Et quand je passe en 7.2 ça m'a l'air correct : Link to comment Share on other sites More sharing options...
Arnaud Laborde Posted September 29, 2021 Author Share Posted September 29, 2021 il y a 20 minutes, hshaker a dit : Tout-à-fait correcte. Et penser à contrôler les accès datas bases Et que toute les tables elles sont présents dans la db Les tables _shop et _shop_url existent bien. Comment vérifier les accès db ? Mais après c'est effectivement un problème de quand je mets ma version PHP et les paramètres de l'hébergement, car étant donné que ça fonctionne avec php 7.4 et pas avec 7.3 ou 7.2, il ne devrait pas y avoir de raison que cela vienne des fichiers ? Je vous remercie vraiment pour votre aide ! Link to comment Share on other sites More sharing options...
Mediacom87 Posted September 29, 2021 Share Posted September 29, 2021 il y a 38 minutes, Arnaud Laborde a dit : Bonjour, qu'entendez vous par "convenablement" et par "votre hébergement l'utilise bien sur votre boutique" ? c'ets exactement cela, en fonction de votre hébergeur et de la gestion de votre hébergement vous pouvez définir une version globale de PHP et une version spécifique par nom de domaine, ce qui fait que si vous changez que la version global sur votre boutique rien ne change, mais si vous vérifiez bien sur le domaine de la boutique alors pas de souci. 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