Preg_replace utilise plus que les octets autorisés par php5.2 par défaut, qui correspond à la taille de pcre.backtrack_limit et pcre.recursion_limit.
Depuis la sortie du programme Discuz! 6.0.0, tout le monde a été occupé à mettre à jour, mais certains plug-ins ont des problèmes sous 6.0, comme http://www.discuz.net/viewthread.php?tid=559133, ce
plug-in bancaire en php Pour le problème de l'écran blanc après l'installation dans les environnements5.2.0
et supérieurs, du point de vue des utilisateurs de Discuz !, nous devons aider l'auteur du plug-in à résoudre ce problème.
processus. J’espère pouvoir vous donner quelques suggestions.
Premièrement : ce plug-in peut fonctionner normalement sous la version 5.5, mais l'écran sera blanc sous la version 6.0.
Afin d'augmenter la lisibilité des fichiers cache des modèles, Discuz! 6.0 a augmenté l'indentation des fichiers cache, et a en effet modifié certaines parties de traitement des modèles de templates.func.php.
Est-ce que cela pourrait être la raison ? Au début, j'ai d'abord déterminé que le problème était là, car après avoir remplacé le code modifié par une partie du code 5.5, il s'est comporté normalement, mais j'étais très déprimé et je n'ai pas trouvé la raison.
Étape 2 : je soupçonnais qu'il s'agissait d'un problème
.problème avec le format d'écriture du template bank.htm, j'étais donc très déprimé et j'ai commencé à analyser le template Pour être honnête, c'est vraiment un casse-tête d'analyser le template quand il est trop gros. Apparemment, aucune raison n'a été trouvée. Ce qui est plus déprimant, c'est
la deuxième étape : j'ai ensuite découvert qu'après avoir divisé ce modèle, il était exécuté normalement. À ce moment-là, j'ai d'abord soupçonné si le bug de correspondance régulier se produisait lorsque le volume de données était important, alors je suis allé sur bugs.php . net a commencé à chercher http://bugs.php.net/search.php?c ... ace&x=3&y=5 J'ai cherché et cherché ici, et j'ai finalement trouvé cet endroit : http://bugs.php.net/bug. .php?id=39405 , et j'ai soudainement découvert qu'il s'agissait d'un problème avec la configuration 5.2. Après avoir ajusté les grands pcre.backtrack_limit et pcre.recursion_limit, le problème a été résolu.
La raison pour laquelle j'ai écrit ceci en détail est de partager mes idées. pour résoudre le problème :)