Installation/MaJ de plugin qui ne fonctionne plus (SPIP 4.0.8 / PHP8.0)

Bonjour,

il y a quelques jours je vois une mise à jour du plugin Newsletters 2.0.5.
J’ai essayé de passer la mise à jour mais j’ai eu un gros message d’erreur. Pas eu le temps d’aller plus loin à ce stade.

Aujourd’hui je vois une version 2.1.0 du même plugin donc je tente de nouveau et même résultat.
Du coup je teste en local mais là tout va bien, donc apparemment ce n’est que chez mon hébergeur (Ionos, ex-1and1).

Je viens également de tester l’installation d’un nouveau plugin, même résultat.

Voici le message :

Fatal error: Uncaught TypeError: Unsupported operand types: string * float in /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/archiviste/inc/pclzip.php:1861 Stack trace: #0 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/archiviste/inc/pclzip.php(806): PclZip->privOptionDefaultThreshold(Array) #1 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/archiviste/inc/archives.php(234): PclZip->extract(77001, '../plugins/auto...', 77005, 511, 77016, 77003, 'newsletters/') #2 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/teleporter/http_deballe_zip.php(136): Spip\Archives\SpipArchives->deballer('../plugins/auto...') #3 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/teleporter/http_deballe_zip.php(30): teleporter_http_charger_zip(Array) #4 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/teleporter/http.php(51): teleporter_http_deballe_zip_dist('../tmp/cache/ch...', '../plugins/auto...', '../tmp/cache/ch...') #5 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/action/teleporter.php(58): teleporter_http_dist('http', 'https://files.s...', '../plugins/auto...', Array) #6 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/inc/svp_actionner.php(1602): action_teleporter_composant_dist('http', 'https://files.s...', '../plugins/auto...') #7 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/inc/svp_actionner.php(1094): Actionneur->get_paquet_id(NULL, 'newsletters/v2....') #8 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/inc/svp_actionner.php(987): Actionneur->do_up(Array) #9 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/inc/svp_actionner.php(950): Actionneur->do_action() #10 /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/svp/action/actionner.php(35): Actionneur->one_action() #11 /homepages/0/dxxxxxxxxx/htdocs/www/ecrire/public/aiguiller.php(77): action_actionner_dist() #12 /homepages/0/dxxxxxxxxx/htdocs/www/ecrire/index.php(72): traiter_appels_actions() #13 {main} thrown in /homepages/0/dxxxxxxxxx/htdocs/www/plugins-dist/archiviste/inc/pclzip.php on line 1861

J’ai régardé un peu la confuguration PHP (via SPIP) mais je ne vois rien de particulier, j’ai même plus d’options chez mon hébergeur qu’en local au niveau de librairies Zip.

Je ne suis pas très sûr, mais comme mon passage en PHP8 est relativement récent, il est possible que je n’ai pas encore eu l’occasion de mettre à jour un plugin depuis ma bascule PHP 7.4 > PHP 8.0.
Mais ma configuration en local est similaire à ce niveau (mêmes version de PHP, de MySQL, de SPIP).

SPIP 4.0.8
SVP 2.4.5
Archiviste 1.0.2

Quelqu’un aurait du idée de la source du problème ?
D’autres points que je devrait vérifier ?

Merci par avance !

Ça ressemble fortement au bug signalé ici 4.0.7 mise à jour 4.1.2 et ajout plugins impossible

1 « J'aime »

Wow ! Trop fort ! Génial !! :grinning:

J’ai donc modifié la ligne 1861 du fichier pclzip.php en ajoutant le type (int), et effectivement tout fonctionne parfaitement.

$p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor((int) $v_memory_limit * PCLZIP_TEMPORARY_FILE_RATIO);

Un grand merci !!