Sortie de SPIP 4.2.0

Après un mois de test de la version alpha, nous avons le plaisir de publier la version stable de SPIP 4.2 !

Annonce complète et détails

Télécharger SPIP

J’ai mis à jour spip en 4.2.0, ça marche ! Par contre, lorsque je passe PHP en 8.2 (chez O2Switch), avec bien les extensions sodium, Zlib, Zip et Phar activées, ça sort une page blanche. Et quand je repasse en PHP 8.1, ça remarche normalement. Peut-être que j’ai loupé quelque chose à faire dans les extensions PHP ?

La page est toujours blanche avec ceci appliqué Les aides au débuggage de squelettes - SPIP ?

1 « J'aime »

Une page blanche signifie une erreur (fatale généralement) de PHP, qui doit être lisible dans les logs du serveur. Il manque peut être une autre extension sur le PHP 8.2… L’erreur peut aider à déterminer ce qu’il se passe.

1 « J'aime »

Oui, en mettant le code dans mes_options.php, la page est toujours blanche.

Dans les logs du serveur, je ne repère rien qui me semble bizarre. Peut-être que je ne suis pas sur le bon log, je regarde les journaux d’accès brut. Je suis en train de télécharger le fichier error_log de SPIP (c’est un très gros fichier de 750Mo, ça prend du temps. C’est normal, d’ailleurs, qu’il grossisse toujours si vite, ou c’est qu’il se passe quelque chose d’anormal ?).

Pas normal :slight_smile:

1 « J'aime »

Je pense, comme tu dis Matthieu, qu’il doit y avoir des options PHP qui ne sont pas bien sélectionnées. Je ne vois pas lesquelles pour le moment.

Voici les options de PHP 8.1 et le site fonctionne :

Et voici les options de PHP 8.2 et le site ne fonctionne pas :

Peut-être que l’erreur va sauter aux yeux de quelqu’un.

Cela veut donc dire que l’erreur se produit avant, par exemple en chargeant l’autoloader de Composer qui vérifie aussi sa compatibilité avec PHP. Idéalement il faut regarder les logs de PHP, mais tu peux aussi probablement mettre les lignes suggérées en question plus tôt dans le processus de SPIP, par exemple dans le fichier /spip.php

Je ne vois rien de particulier, à part une jolie interface !

Oui, c’est O2Switch avec le cPanel :wink:
Dans le fichier spip.php, tu mettrais ce code là ?

// Activer les rapports d’erreurs PHP
error_reporting(E_ALL^E_NOTICE);
ini_set ("display_errors", "On");
 
// Afficher toutes les erreurs dans SPIP
define('SPIP_ERREUR_REPORT', E_ALL);

Il y a plusieurs possibilités, celle ci en est une oui (temporairement évidemment)

Je les ai mises dans spip.php, mais ça n’a rien donné de spécial. Par contre, j’avance un peu. Dans mon site, j’ai quelques petits spips dans des sous-dossiers, qui sont tous en sqlite. Eux fonctionnent très bien avec PHP 8.2 activé, alors que mon site principal, qui utilise mysql, dit ceci quand je passe en PHP 8.2 :
snap1462
Conclusion : dans mon cas, le passage en PHP 8.2 semble poser un souci pour l’accès mysql. Je ne vois pas trop où ça se passe dans les options PHP.

Du coup, j’ai trouvé et j’ai réglé le problème :
Dans PHP 8.1 il y avait ceci :
snap1464

Et dans PHP 8.2, ça ne se présente pas exactement pareil, alors j’ai coché « nd_mysqli » (qui n’était pas coché) :
snap1463
Et ça marche !!

C’était donc tout simplement une option de PHP 8.2 qui n’était pas activée. Il m’a fallu un peu de chemin pour trouver. Merci à vous !!

2 « J'aime »