Maison  >  Article  >  développement back-end  >  Solution à Obsolète : erreur preg_replace() dans ECSHOP

Solution à Obsolète : erreur preg_replace() dans ECSHOP

*文
*文original
2017-12-29 17:59:472482parcourir

Cet article explique comment ECSHOP peut parfaitement résoudre le problème de l'erreur Deprecated: preg_replace(). Partagez-le avec tout le monde et donnez à chacun une référence. J'espère que cela aide tout le monde.

Avec la mise à jour de la version PHP, de nouvelles erreurs sont apparues dans le système ECSHOP. Les mises à jour officielles d'ECSHOP sont trop lentes et ne sont pas mises à jour à temps après la découverte de ces problèmes, ce qui entraîne de nombreuses erreurs lors de l'installation et de l'utilisation. Après avoir longuement parlé, quelle est cette nouvelle erreur ? Son message d'erreur complet est le suivant :

Obsolète : preg_replace() : Le modificateur /e est obsolète, utilisez plutôt preg_replace_callback dans..... . .

Remarque : ECSHOP de tout le monde ne signalera pas cette erreur. Seul ECSHOP utilisant l'environnement PHP5.5 signalera cette erreur.

Le tutoriel suivant du centre de développement ecshop (www.68ecshop.com) parlera d'abord des raisons de l'erreur :

1), raison de l'erreur :

Le modificateur /e utilisé dans la fonction preg_replace() est obsolète dans PHP5.5.x.

Si votre version de PHP est PHP5.5.X, alors votre ECSHOP signalera certainement une erreur similaire à la suivante :

Obsolète : preg_replace() : le modificateur /e est obsolète , utilisez plutôt preg_replace_callback dans...

2), solution :

En fait, d'après le message d'erreur de tout à l'heure, nous pouvons également voir quelque chose, cela nous invite à utiliser preg_replace_callback au lieu de preg_replace.

La solution est donc la suivante :

Utilisez le Bloc-notes ou un autre logiciel d'édition PHP (tel que : editplus) pour ouvrir le fichier include/cls_template.php et recherchez

return preg_replace("/ {([^}{n]*)}/e", "$this->select('\1');", $source);

remplacé par

return preg_replace_callback("/{([^}{n]*)}/", function($r) { return $this->select($r[1]); }, $source);

Problème résolu.

3), Si d'autres fichiers de votre ECSHOP signalent également des erreurs preg_replace similaires, veuillez vous référer à la méthode ci-dessus pour la résoudre. Les idées de solutions et les solutions sont les suivantes. même .

Recommandations associées :

Tutoriel PHP – Développement secondaire Ecshop (3)

Utilisez ecshop pour ajouter des champs à la table des produits backend

Recommandez 5 modèles ecshop qui imitent des sites Web de commerce électronique bien connus (collection )

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn