Le 2 mars 2019 à 16:02, dlatr <claude.delattre@gmail.com> a écrit :
Le 2 mars 2019 à 15:42, Debondt Didier <p@henix.be> a écrit :
Hello,
Je pense que c'est simplement que le nouveau hébergeur affiche les
warnings et les erreurs là où le précédent ne le faisait pas.
Non, c'est qu'il est en PHP 7.2, la fonction count n'accepte plus les
"invalid countable"
PHP: count - Manual
Il faut ajouter un test is_array avant de faire le count.
je craignais un truc du genre.
J’ai presque le même message (en double) en recherche dans la partie privée :
Warning: count(): Parameter must be an array or an object that implements Countable in /home/clients/a3580510d3989b69fb26134d5ef34fc5/web/ficedl/ml/ecrire/public/iterateur.php on line 284
// 3 possibilites : count($v) =
// * 1 : {x y} ; on recoit $v[0] = y
// * 2 : {x !op y} ; on recoit $v[0] = 'NOT', $v[1] = array() // array du type {x op y}
// * 3 : {x op y} ; on recoit $v[0] = 'op', $v[1] = x, $v[2] = y
// 1 : forcement traite par un critere, on passe
284 if (count($v) == 1) {
continue;
}
if (count($v) == 2 and is_array($v[1])) {
$this->ajouter_filtre($v[1][1], $v[1][0], $v[1][2], 'NOT');
}
if (count($v) == 3) {
$this->ajouter_filtre($v[1], $v[0], $v[2]);
}
}
}
mais celà ne semble pas prêter à conséquence.
Claude
Le 02/03/2019 à 13:48, dlatr a écrit:
Bonjour,
en utilisant le plugin a2a j’ai ce message
Warning: count(): Parameter must be an array or an object that implements Countable in
/home/clients/a3580510d3989b69fb26134d5ef34fc5/web/ficedl/placard/ecrire/public/aiguiller.php on line 228
227 // accessibilite : si des erreurs mais pas de message general l'ajouter
228 if (count($post["erreurs_$form"]) and !isset($post["erreurs_$form"]['message_erreur'])) {
$post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_$form"]),
'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
}
Warning: count(): Parameter must be an array or an object that
implements Countable in
/home/clients/a3580510d3989b69fb26134d5ef34fc5/web/ficedl/placard/ecrire/public/aiguiller.php on line 242
233 // si on ne demandait qu'une verif json
234 if (_request('formulaire_action_verifier_json')) {
include_spip('inc/json');
include_spip('inc/actions');
ajax_retour(json_encode($post["erreurs_$form"]), 'text/plain');
return true; // on a fini le hit
}
$retour = "";
242 if ((count($post["erreurs_$form"]) == 0)) {
$rev = "";
if ($traiter = charger_fonction("traiter", "formulaires/$form/", true)) {
$rev = call_user_func_array($traiter, $args);
}
$rev = pipeline(
'formulaire_traiter',
array(
'args' => array('form' => $form, 'args' => $args),
'data' => $rev
)
);
spip 3.2.3 - php 7.2.15 - a2a 2.2.3 - le plugin fonctionnait bien sur le précédent hébergeur en php 5.6
est-ce que descendre de version résoudrait sans problème. Voici les versions disponibles :
Version actuelle de PHP (7.2.15)
7.3 - 7.2 - 7.1 - 7.0 - 5.6
ou faudra-til réinstaller les sites ?
Claude