Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sessions

2 réponses
Avatar
EBille
Bonjour,
Depuis le changement de PHP pour une version supérieure, j'ai un
message de warning que je ne comprend pas très bien :
Warning: Unknown: Your script possibly relies on a session side-effect
which existed until PHP 4.2.3. Please be advised that the session
extension does not consider global variables as a source of data,
unless register_globals is enabled. You can disable this functionality
and this warning by setting session.bug_compat_42 or
session.bug_compat_warn to off, respectively. in Unknown on line 0

Dans mon appli, un script (appelons-le prepare.php) qui prépare une
requete et affiche une liste par include (appelons-la affiche.php). En
cas de pagination (items_liste > 30) on boucle sur affiche.php avec <a
href="affiche.php?debut=30, 60,90...
Dans prepare.php on a
$_SESSION['sfinpos']=30;
et dans affiche.php
sfinpos=$_SESSION['sfinpos'];
puis
$_SESSION['sfinpos']=90;
Je ne sais pas lequel des deux provoque le warning, puisque le premier
coup C'est prepare.php qui demarre et inclus affiche.php.
Une piste ?
Cordialement,
EB

2 réponses

Avatar
Thierry
Bonjour,
bonjour


voici un extrait d'un php.ini version 5
;---------------------------------------------------------------------------
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit
register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 1
;---------------------------------------------------------------------------

l'explication la plus plausible que je vois à ton problème est que tu as
conservé
ton ancien et trés vieux php.ini avec ta nouvelle version de php OU
que tu as trop fait de ménage dans ton nouveau php.ini

la bonne solution est donc pour toi d'ajouter
session.bug_compat_42 = 0
dans ton php.ini
et de bien vérifier que tes scripts fonctionnent toujours

Une moins bonne solution est d'ajouter
session.bug_compat_warn = 0
et de ne pas chercher à comprendre le pourquoi du comment

Cordialement,
de même


thierry

Avatar
EBille
Merci pour cette réponse,
Bonne soirée
EBille