Un utilisateur a demandé 👇

Salut,

J’ai cet avertissement PHP en boucle dans mes fichiers journaux, tous les jours (je pense que c’est de la version 7.3, mais je ne suis pas vraiment sûr):

Avertissement PHP : preg_match() : erreur de construction : plage non valide dans l’offset de classe de caractères 29 dans /wp-content/plugins/better-wp-security/core/modules/file-change/lib/package-factory.php en ligne 96

Savez-vous quel est le problème ?


(@nlpro)

il y a 1 an, 8 mois

Il s’agit probablement d’un problème d’incompatibilité de php 7.3 avec le plugin.

Dans bpp 7.3, PCRE (Perl Compatible Regular Expressions) a été mis à jour vers la v2.

PCRE est une bibliothèque qui utilise PHP pour gérer les expressions régulières.

PCRE2 est plus strict sur les validations de modèles, donc après une mise à jour de php, certains modèles qui fonctionnaient auparavant peuvent ne plus être compilés.

Maintenant, un modèle d’expression régulière n’apparaît pas à la ligne 96 dans le fichier package-factory.php… mais une expression régulière est en cours d’exécution :

95	if ( '@' === $search_path[0] ) {
96		if ( ! preg_match( $search_path, $file ) ) {

J’ai également inclus la ligne ci-dessus dans le code ci-dessus, car elle nous indique quel modèle d’expression régulière rechercher. Celui qui commence par @. Il n’y a qu’un seul jeu dans tout le fichier package-factory.php :

32 $core_files="@" . preg_quote( ABSPATH, '@' ) . '[w-_][email protected]';

C’est lui ‘[w-_]+ . @ ‘partie à la fin où se trouve le problème. Le script doit s’échapper. Alors ça devrait être ‘[w-_]+ . @’.

Faites une copie de sauvegarde du fichier package-factory.php actuel. Modifiez comme décrit ci-dessus, puis voyez si les avertissements disparaissent dans l’espace.

Pour éviter toute confusion, je ne suis pas iThemes.

Cette réponse a été modifiée il y a 1 an et 8 mois par.


(@juliemoynat)

il y a 1 an, 8 mois

Merci pour votre réponse!

Vous aviez raison, j’ai PHP 7.3, j’ai donc essayé votre solution et cela semble fonctionner. Les avertissements de changement de fichier fonctionnent désormais mieux.

J’ai également remarqué un autre avertissement PHP, mais je ne suis pas non plus au courant de l’incompatibilité PHP 7.3 :

Avertissement PHP : printf() : trop peu d’arguments dans /wp-content/plugins/better-wp-security/core/modules/malware/settings-page.php à la ligne 52

J’espère que iThemes résoudra ces problèmes bientôt.


(@nlpro)

il y a 1 an, 8 mois

Bon, excellent. Merci pour votre confirmation. Bien sûr, iThemes devra corriger ce bogue dans une future version. Cela peut prendre un certain temps car iThemes ne surveille pas ce forum.

Quant à l’autre mise en garde, vous utilisez probablement le tableau de bord WordPress dans une langue autre que l’anglais (je suppose que le français). Il s’agit donc essentiellement d’un problème de traduction bien connu (dans la traduction française du plugin iTSec). Ce n’est donc pas un bogue dans le code du plugin.

Comme il s’agit d’une question distincte, veuillez créer un sujet distinct.

Oh (presque oublié) je pense que ce problème peut être résolu avec Solution 😉

Cette réponse a été modifiée il y a 1 an et 8 mois par.

Cela a-t-il résolu votre problème ?

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *