Project

General

Profile

Anomalie #2615

PHP 5.4 Reference, Illegal offset strings et fonctions depreciées

Added by lrt rln over 7 years ago. Updated over 7 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Category:
espace privé
Target version:
Start date:
03/26/2012
Due date:
% Done:

0%

Resolution:
fixed
Navigateur:

Description

Pour info, j'ai localement modifié un petit point dans ecrire/inc/utils.php pour passer le cap du Strict Standard en >PHP5.4.

Sur 2.1.1218732
à la ligne 1060 $script1 = array_shift(explode('&', $script));

il faut passer l'opération en deux étapes :
$split = explode('&', $script);
$script1 = array_shift($split);

pour éviter un disgracieux 'Strict Standards: Only variables should be passed by reference in' en mode E_STRICT.

History

#1 Updated by marcimat 🌈 over 7 years ago

C'est le array_shift (http://php.net/manual/fr/function.array-shift.php) qui prend automatiquement une référence donc…
Je doute que ce soit le seul endroit dans SPIP comme ça.

Par ailleurs je m'étonne de cette attitude de PHP 5.4 là, car on n'a aucun moyen visuel de savoir si une fonction va prendre notre entrée par référence ou pas. Si on doit à chaque fois regarder la doc PHP, ça va être un rien casse pied.

#3 Updated by cedric - over 7 years ago

Pour SPIP 2.1 :
r19202
r19204
r19205

#4 Updated by cedric - over 7 years ago

  • Subject changed from PHP5 "Only variables should be passed by reference" to PHP 5.4 Reference, Illegal offset strings et fonctions depreciées

#5 Updated by marcimat 🌈 over 7 years ago

  • Status changed from Nouveau to Fermé
  • Resolution set to fixed

Je pense qu'on a fait pas mal le tour maintenant. Je pense qu'on peut fermer ce ticket là. S'il y a d'autres erreurs, elles seront signalées au cas par cas, mais je n'en ai plus croisé depuis quelques temps.

Also available in: Atom PDF