OVH Cloud OVH Cloud

[php] autoriser globales

7 réponses
Avatar
Boris
Bonjour à tous
en installant Panther (tout neuf) et en activant PHP, je me suis rendu
compte que le register_globals avait été passé à Off (la version de php
a dû évoluer entre jaguar et panther, je crois la 4.2.3)
je suis donc allé modifier le php.ini.default trouvé dans /etc pour
changer en On le register_globals, mais après redémarrage de la bécane,
j'ai toujours des problèmes à l'éxécution de mes scripts (les sessions
ne sont pas utilisées, à cause du fait que, de mémoire, je dois passer
un des paramètres en global lors de la vérification de
l'authentification sur chaque page de mes scripts)
Je pense donc que le register_globals n'a pas marché. Ai-je fait la
bonne manip ? Y-a-t-il autre chose à faire ?
merci d'avance !
(oui je sais, je pourrais passer le message aussi chez fr.comp.lang.php
mais je me sens mieux ici :-), en plus l'autre zozo est modéré et c'est
lent...)
--
Boris
http://www.pi314.net

7 réponses

Avatar
patpro
In article <bpfdcn$7nf$,
Boris wrote:

je suis donc allé modifier le php.ini.default trouvé dans /etc pour
changer en On le register_globals, mais après redémarrage de la bécane,
j'ai toujours des problèmes à l'éxécution de mes scripts (les sessions
ne sont pas utilisées, à cause du fait que, de mémoire, je dois passer
un des paramètres en global lors de la vérification de
l'authentification sur chaque page de mes scripts)
Je pense donc que le register_globals n'a pas marché. Ai-je fait la
bonne manip ? Y-a-t-il autre chose à faire ?



non, la bonne manip consiste a corriger son code. Il y a de *bonnes*
raisons pour que le comportement par défaut de PHP soit passé a
register_globa OFF. (la sécurité par exemple).
Et un code qui fonctionne dans ces conditions fonctionnera aussi avec
register_global ON, donc si tu corriges ton code tu gagnes sur tous les
tableaux.

et au passage, on ne modifie jamais un .default, ici il aurait fallu
faire :
mv php.ini.default php.ini
puis éditer le php.ini

et inutile de redémarrer aussi, il suffit de relancer apache.

patpro

Avatar
Boris
In article <bpfdcn$7nf$,
Boris wrote:


je suis donc allé modifier le php.ini.default trouvé dans /etc pour
changer en On le register_globals, mais après redémarrage de la bécane,
j'ai toujours des problèmes à l'éxécution de mes scripts (les sessions
ne sont pas utilisées, à cause du fait que, de mémoire, je dois passer
un des paramètres en global lors de la vérification de
l'authentification sur chaque page de mes scripts)
Je pense donc que le register_globals n'a pas marché. Ai-je fait la
bonne manip ? Y-a-t-il autre chose à faire ?




non, la bonne manip consiste a corriger son code. Il y a de *bonnes*
raisons pour que le comportement par défaut de PHP soit passé a
register_globa OFF. (la sécurité par exemple).
Et un code qui fonctionne dans ces conditions fonctionnera aussi avec
register_global ON, donc si tu corriges ton code tu gagnes sur tous les
tableaux.


je ne te demande pas de jugement sur mon code, ni de faire de leçons de
morale sur la sécurité, je te demande comment activer register_globals,
ta remarque ne m'aide pas car je sais tout ça (ne serait-ce que parce
que le message d'erreur de php dans ce cas le dit aussi)


et au passage, on ne modifie jamais un .default, ici il aurait fallu
faire :
mv php.ini.default php.ini
puis éditer le php.ini


ok, bonne idée


et inutile de redémarrer aussi, il suffit de relancer apache.


d'accord mais je ne me rappelais plus la manip, ça m'a pris moins de
temps, c'est facile c'est vrai :o)


patpro



--
Boris
http://www.pi314.net


Avatar
patpro
In article <bpfga0$8ov$,
Boris wrote:

non, la bonne manip consiste a corriger son code. Il y a de *bonnes*
raisons pour que le comportement par défaut de PHP soit passé a
register_globa OFF. (la sécurité par exemple).


je ne te demande pas de jugement sur mon code, ni de faire de leçons de
morale sur la sécurité, je te demande comment activer register_globals,
ta remarque ne m'aide pas car je sais tout ça (ne serait-ce que parce
que le message d'erreur de php dans ce cas le dit aussi)



ne confond pas remarque technique et leçon de morale, ma contribution
relève du premier cas, et je ne me lance que tres rarement dans le
second, en tout cas jamais avec les gens qui ne savent pas ce qu'ils
font.


et inutile de redémarrer aussi, il suffit de relancer apache.


d'accord mais je ne me rappelais plus la manip, ça m'a pris moins de
temps, c'est facile c'est vrai :o)



ha ouais... quand meme.

patpro


Avatar
Boris

In article <bpfga0$8ov$,
Boris wrote:



non, la bonne manip consiste a corriger son code. Il y a de *bonnes*
raisons pour que le comportement par défaut de PHP soit passé a
register_globa OFF. (la sécurité par exemple).


je ne te demande pas de jugement sur mon code, ni de faire de leçons de
morale sur la sécurité, je te demande comment activer register_globals,
ta remarque ne m'aide pas car je sais tout ça (ne serait-ce que parce
que le message d'erreur de php dans ce cas le dit aussi)




ne confond pas remarque technique et leçon de morale, ma contribution
relève du premier cas, et je ne me lance que tres rarement dans le
second, en tout cas jamais avec les gens qui ne savent pas ce qu'ils
font.



pourtant, c'est peut-être eux qui en ont le plus besoin
en attendant je n'ai toujours pas de réponse, est-ce que mettre
register_global à on dans le php.ini est suffisant pour les super globales ?
Sous-entendu puisque le changement dans le .default ne marchait pas,
pourquoi y-avait-il un .default et pas de php.ini directement ? (même en
root)


et inutile de redémarrer aussi, il suffit de relancer apache.


d'accord mais je ne me rappelais plus la manip, ça m'a pris moins de
temps, c'est facile c'est vrai :o)




ha ouais... quand meme.


bah, je n'ai jamais eu à trifouiller apache sous terminal depuis que je
l'ai activé donc....
il y a effectivement encore des gens comme moi (peut-être beaucoup
d'ailleurs) qui n'ont pas à proprement parler peur du terminal, mais qui
simplement ne passent pas leur vie dessus et donc connaissent très peu
de commandes.

patpro



--
Boris
http://www.pi314.net



Avatar
patpro
In article <bpflg3$akn$,
Boris wrote:

en attendant je n'ai toujours pas de réponse, est-ce que mettre
register_global à on dans le php.ini est suffisant pour les super globales ?


la réponse tu l'avais des mon premier post (voir la suite)

Sous-entendu puisque le changement dans le .default ne marchait pas,


d'ou l'utilité d'en faire une copie nommée php.ini pour qu'apache puisse
la prendre en compte.

pourquoi y-avait-il un .default et pas de php.ini directement ? (même en
root)


parce que c'est comme ca sur les installations propres de logiciels
tierce partie sur UNIX/Linux, on te donne un .default ou un .dist comme
base/modèle, et tu dois mettre tes modif dans un fichier de meme nom
sans le .default ou le .dist.

et inutile de redémarrer aussi, il suffit de relancer apache.


d'accord mais je ne me rappelais plus la manip, ça m'a pris moins de
temps, c'est facile c'est vrai :o)


ha ouais... quand meme.


bah, je n'ai jamais eu à trifouiller apache sous terminal depuis que je
l'ai activé donc....
il y a effectivement encore des gens comme moi (peut-être beaucoup
d'ailleurs) qui n'ont pas à proprement parler peur du terminal, mais qui
simplement ne passent pas leur vie dessus et donc connaissent très peu
de commandes.



et tu l'as activé comment Apache ? (j'espere qu'il ne t'as pas échapé
que le tdb Sharing dans les préférences systeme permet d'activer et de
désactiver apache en un click...)


patpro




Avatar
Boris
In article <bpflg3$akn$,
Boris wrote:

[snip]

pourquoi y-avait-il un .default et pas de php.ini directement ? (même en
root)



parce que c'est comme ca sur les installations propres de logiciels
tierce partie sur UNIX/Linux, on te donne un .default ou un .dist comme
base/modèle, et tu dois mettre tes modif dans un fichier de meme nom
sans le .default ou le .dist.


ah ok, très bien


[snip]


bah, je n'ai jamais eu à trifouiller apache sous terminal depuis que je
l'ai activé donc....
il y a effectivement encore des gens comme moi (peut-être beaucoup
d'ailleurs) qui n'ont pas à proprement parler peur du terminal, mais qui
simplement ne passent pas leur vie dessus et donc connaissent très peu
de commandes.




et tu l'as activé comment Apache ? (j'espere qu'il ne t'as pas échapé
que le tdb Sharing dans les préférences systeme permet d'activer et de
désactiver apache en un click...)



oui pardon, effectivement, je pensais plutôt à php et mysql en disant
cela. Je n'avais plus pensé au tdb partage, bien vu.


patpro



--
Boris
http://www.pi314.net


Avatar
patpro
In article <bpfqcr$ca9$,
Boris wrote:

In article <bpflg3$akn$,
Boris wrote:

[snip]

pourquoi y-avait-il un .default et pas de php.ini directement ? (même en
root)



parce que c'est comme ca sur les installations propres de logiciels
tierce partie sur UNIX/Linux, on te donne un .default ou un .dist comme
base/modèle, et tu dois mettre tes modif dans un fichier de meme nom
sans le .default ou le .dist.


ah ok, très bien


j'ai oublié de préciser, en cas de mise a jour, le xyz.default est
souvent remplacé sans état d'âme par l'installeur. Donc il est prudent
de ne pas le modifier.
Ici cela ne change rien car il ne serait pas pris en compte par Apache
de toute maniere. Mais c'est bon a savoir.

patpro