Maison > Article > développement back-end > Solution à Obsolète : erreur preg_replace() dans ECSHOP
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
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!