PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 21/05/2018 20:37:54

Francis
Membre
Inscription : 19/11/2011
Messages : 443
Site Web

[Résolu] Array au lieu de string dans constructeur de classe plxPlugin

J'ai un message d'erreur qui apparaît maintenant en local (j'ai renouvelé mon serveur local Xampp avec PHP 5.6) et qui concerne le fichier core/lib/class.plx.plugins.php :
"Notice : Array to string conversion" pour la ligne 345 et parfois la ligne 365, pour chacun des plugins activés.

Ce problème concerne paramètre $lang, qui est défini à partir de $default_lang lors de l'appel du constructeur, dans chaque plugin :

[== PHP ==]
public function __construct($default_lang) { ... }

Je ne vois pas trop comment ce $default_lang devient un tableau.
J'ai provisoirement résolu le problème avec un bricolage qui transforme le tableau en chaîne de caractères. J'ai ajouté un if après la ligne 313 dans le fichier core/lib/class.plx.plugins.php :

[== PHP ==]
	public function __construct($default_lang='') {
	  if (is_array($default_lang)) { $default_lang = ''; }

Mais il y a certainement une solution plus rationnelle à ce problème, quelqu'un aurait-il une idée Svp ?

Dernière modification par Francis (22/05/2018 23:47:22)

Hors ligne

#2 22/05/2018 14:29:21

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 055
Site Web

Re : [Résolu] Array au lieu de string dans constructeur de classe plxPlugin

Tu gères le multi-linguisme sur ton site ?

Si tu sais gérer XDebug, c'est facile de retrouver le coupable.
Essaie en désactivant tous tes plugins, et de les réactiver un par un jusqu'à provoquer l'erreur à nouveau
Commencer par les plugins les plus basiques.
Au cas où, désactive la réécriture d'URLs mais je n'y crois pas trop.

Et bien sûr PHP version >= 5.6.36 (beaucoup trop de vieilles versions sous W$ - les MAJ sous W$, tu sais quand ça commence, mais tu sais pas quand ça finit )
last release pour PHP : 7.2.5

Et PluXml 5.6 pour finir

Dernière modification par bazooka07 (22/05/2018 14:30:02)

Hors ligne

#3 22/05/2018 16:08:10

Francis
Membre
Inscription : 19/11/2011
Messages : 443
Site Web

Re : [Résolu] Array au lieu de string dans constructeur de classe plxPlugin

Merci Bazooka07 pour ton aide.
J'utilise bien PluXml 5.6 et ma version de PHP est la 5.6.33, je ne suis pas resté sur la version 7, j'avais trop d'incompatibilités avec d'anciennes versions de sites, je verrai ça au fur et à mesure.

Cela ne vient pas d'un plugin en particulier, l'erreur apparaît une fois pour chacun des plugins activés, j'ai testé en affichant le nom de chacun.

Je n'utilise pas le multilinguisme non plus. Je n'ai pas l'habitude d'utiliser XDebug, dans un coin j'ai CodeLobster qui paraît très bien, mais je ne m'en sers pas encore.

Dernière modification par Francis (22/05/2018 23:38:59)

Hors ligne

#4 22/05/2018 17:42:09

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 055
Site Web

Re : [Résolu] Array au lieu de string dans constructeur de classe plxPlugin

Tu as le souci avec le thème par défaut ou un thème perso.
Et l'erreur se produit côté site ou côté admin ?

Sinon , crée un nouveau dossier sur ton serveur et fais une nouvelle installation de PluXml dedans.
Il n'est pas nécessaire que PluXml soit à la racine du serveur.
Ensuite copie ton dossier data original dans la nouvelle installation.

Dernière modification par bazooka07 (22/05/2018 17:42:44)

Hors ligne

#5 22/05/2018 23:46:01

Francis
Membre
Inscription : 19/11/2011
Messages : 443
Site Web

Re : [Résolu] Array au lieu de string dans constructeur de classe plxPlugin

L'erreur était côté site, c'est un ancien site avec un thème perso que j'actualise.

J'ai fait une autre installation de PluXml, toujours 5.6, et là pas de problème.
En reprenant mon installation avec erreur, j'ai remis le fichier d'origine core/lib/class.plx.plugins.php et là, plus de problème !

Je ne sais pas trop ce qui s'est passé. Depuis, j'ai changé le doctype de mon ancien thème, histoire de le moderniser en HTML5 (il était en XHTML), pour pouvoir ensuite y inclure des balises plus modernes.

Il y avait sans doute quelque chose du côté de ce thème, qui était ancien, je rejoins ton idée.
Merci en tout cas Bazooka07 de t'être penché sur la question !

Dernière modification par Francis (22/05/2018 23:47:42)

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2018 PluXml.org, tous droits réservés