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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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
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.
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
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.
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