Usage de ini_set() en PHP 8+
Certains hébergeurs désactivent certaines fonctions de PHP, et c’est notamment souvent le cas de ini_set
. On en fait quelques usages dans SPIP, souvent tel que @ini_set(x, y)
, donc avec un arobase pour cacher les erreurs éventuelles si la fonction n’exsiste pas ou que son résultat échoue.
Ça… ça marchait avant PHP 8.
2 choses sont modifiées avec PHP 8.0 :
-
https://php.watch/versions/8.0/disable_functions-redeclare lorsqu’une fonction est disabled, son message d’erreur est une
Fatal error
(était Warning auparavant) -
https://php.watch/versions/8.0/fatal-error-suppression le signe
@
ne masque/bloque plus uneFatal error
.
Bah on se retrouve alors avec quelques pages blanches.
Potentiellement ini_set n’est pas la seule fonction impactée.