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
P'tit Marcel
Eternel débutant en PHP... Que se passe-t-il si on a :
et que le fichier "toto.php" contient : include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
j'ai fait un script toto qui s'inclue lui-même, avec un echo avant l'include.
* résultat en appel par le web: - la page reste vide - dans la log d'Apache: [notice] child pid 4004 exit signal Segmentation fault (11)
* résultat par appel de php en CGI : - stdout se remplit du echo précédant l'include - apparemment, un process récursif infernal se met en marche - ça finit par "Segmentation fault (core dumped)"
bref, on dirait que php n'anticipe pas le problème et que ça finit par un overflow violent. sauf erreur, c'est pareil avec les appels récursifs illimités, genre : function bug($toto) { return bug($toto); }
eça -- P'tit Marcel
Eternel débutant en PHP...
Que se passe-t-il si on a :
et que le fichier "toto.php" contient :
include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
j'ai fait un script toto qui s'inclue lui-même, avec un echo avant
l'include.
* résultat en appel par le web:
- la page reste vide
- dans la log d'Apache:
[notice] child pid 4004 exit signal Segmentation fault (11)
* résultat par appel de php en CGI :
- stdout se remplit du echo précédant l'include
- apparemment, un process récursif infernal se met en marche
- ça finit par "Segmentation fault (core dumped)"
bref, on dirait que php n'anticipe pas le problème et que ça finit par
un overflow violent. sauf erreur, c'est pareil avec les appels récursifs
illimités, genre :
function bug($toto) { return bug($toto); }
Eternel débutant en PHP... Que se passe-t-il si on a :
et que le fichier "toto.php" contient : include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
j'ai fait un script toto qui s'inclue lui-même, avec un echo avant l'include.
* résultat en appel par le web: - la page reste vide - dans la log d'Apache: [notice] child pid 4004 exit signal Segmentation fault (11)
* résultat par appel de php en CGI : - stdout se remplit du echo précédant l'include - apparemment, un process récursif infernal se met en marche - ça finit par "Segmentation fault (core dumped)"
bref, on dirait que php n'anticipe pas le problème et que ça finit par un overflow violent. sauf erreur, c'est pareil avec les appels récursifs illimités, genre : function bug($toto) { return bug($toto); }
eça -- P'tit Marcel
Cedric Olmanst
Salut,
Eternel débutant en PHP... Que se passe-t-il si on a :
<?php include 'toto.php' ; ?>
et que le fichier "toto.php" contient : include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
Pourquoi ne pas avoir essayé ? La doc ne dit rien à ce sujet, et les commentaires des utilisateurs non plus, on dirait.
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include, il te suffit d'appeler include_once() ou require_once() au lieu de respectivement include() ou require(), ça te permettra d'éviter tout problème de ce genre.
cf. la merveilleuse doc de Php : http://be2.php.net/manual/fr/function.include.php http://be2.php.net/manual/fr/function.include-once.php http://be2.php.net/manual/fr/function.require.php http://be2.php.net/manual/fr/function.require_once.php
Cédric Olmanst
Salut,
Eternel débutant en PHP...
Que se passe-t-il si on a :
<?php
include 'toto.php' ;
?>
et que le fichier "toto.php" contient :
include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
Pourquoi ne pas avoir essayé ? La doc ne dit rien à ce sujet, et les
commentaires des utilisateurs non plus, on dirait.
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes
include, il te suffit d'appeler include_once() ou require_once() au lieu
de respectivement include() ou require(), ça te permettra d'éviter tout
problème de ce genre.
cf. la merveilleuse doc de Php :
http://be2.php.net/manual/fr/function.include.php
http://be2.php.net/manual/fr/function.include-once.php
http://be2.php.net/manual/fr/function.require.php
http://be2.php.net/manual/fr/function.require_once.php
Eternel débutant en PHP... Que se passe-t-il si on a :
<?php include 'toto.php' ; ?>
et que le fichier "toto.php" contient : include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
Pourquoi ne pas avoir essayé ? La doc ne dit rien à ce sujet, et les commentaires des utilisateurs non plus, on dirait.
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include, il te suffit d'appeler include_once() ou require_once() au lieu de respectivement include() ou require(), ça te permettra d'éviter tout problème de ce genre.
cf. la merveilleuse doc de Php : http://be2.php.net/manual/fr/function.include.php http://be2.php.net/manual/fr/function.include-once.php http://be2.php.net/manual/fr/function.require.php http://be2.php.net/manual/fr/function.require_once.php
Cédric Olmanst
ftc
bref, on dirait que php n'anticipe pas le problème et que ça finit par un overflow violent. sauf erreur, c'est pareil avec les appels récursifs illimités, genre : function bug($toto) { return bug($toto); }
Pour éviter les appels récursifs de fonctions, il faut installer une extension du style xdebug qui permet de contrôler les appels récursifs.
bref, on dirait que php n'anticipe pas le problème et que ça finit par
un overflow violent. sauf erreur, c'est pareil avec les appels récursifs
illimités, genre :
function bug($toto) { return bug($toto); }
Pour éviter les appels récursifs de fonctions, il faut installer une
extension du style xdebug qui permet de contrôler les appels récursifs.
bref, on dirait que php n'anticipe pas le problème et que ça finit par un overflow violent. sauf erreur, c'est pareil avec les appels récursifs illimités, genre : function bug($toto) { return bug($toto); }
Pour éviter les appels récursifs de fonctions, il faut installer une extension du style xdebug qui permet de contrôler les appels récursifs.
Je suis content que vous me parliez de ça. Je l'ai trouvé sur le net et dans mon bouquin. Mais si je n'utilise, ( pas encore du moins ) require_once.
On est d'accord que si le site est bien monté, on ne devrait, normalement, pas a avoir soin de require_once.
non ?
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include, il te suffit d'appeler include_once() ou require_once() au lieu de respectivement include() ou require(), ça te permettra d'éviter tout problème de ce genre.
cf. la merveilleuse doc de Php : http://be2.php.net/manual/fr/function.include.php http://be2.php.net/manual/fr/function.include-once.php http://be2.php.net/manual/fr/function.require.php http://be2.php.net/manual/fr/function.require_once.php
Cédric Olmanst
Je suis content que vous me parliez de ça. Je l'ai trouvé sur le net et dans
mon bouquin.
Mais si je n'utilise, ( pas encore du moins ) require_once.
On est d'accord que si le site est bien monté, on ne devrait, normalement,
pas a avoir soin de require_once.
non ?
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include,
il te suffit d'appeler include_once() ou require_once() au lieu de
respectivement include() ou require(), ça te permettra d'éviter tout
problème de ce genre.
cf. la merveilleuse doc de Php :
http://be2.php.net/manual/fr/function.include.php
http://be2.php.net/manual/fr/function.include-once.php
http://be2.php.net/manual/fr/function.require.php
http://be2.php.net/manual/fr/function.require_once.php
Je suis content que vous me parliez de ça. Je l'ai trouvé sur le net et dans mon bouquin. Mais si je n'utilise, ( pas encore du moins ) require_once.
On est d'accord que si le site est bien monté, on ne devrait, normalement, pas a avoir soin de require_once.
non ?
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include, il te suffit d'appeler include_once() ou require_once() au lieu de respectivement include() ou require(), ça te permettra d'éviter tout problème de ce genre.
cf. la merveilleuse doc de Php : http://be2.php.net/manual/fr/function.include.php http://be2.php.net/manual/fr/function.include-once.php http://be2.php.net/manual/fr/function.require.php http://be2.php.net/manual/fr/function.require_once.php
Cédric Olmanst
Le Fou
Que se passe-t-il si on a : <?php include 'toto.php' ; ?> et que le fichier "toto.php" contient : include 'toto.php' ; Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
Pourquoi ne pas avoir essayé ?
Parceque j'avais peur que ça explose ;-) En vrai, parcequ'il se peut que quelqu'un ait déjà essayé et me fournisse une réponse, m'évitant ainsi un éventuel crash m'obligeant à redémarrer ma bécanne. De plus, je ne suis pas assez calé en PHP pour savoir quelles instructions rajouter dans mon code pour obtenir tel ou tel message d'erreur significatif et j'aurais pu me retrouver avec une page vide (comme chez P'tit Marcel) sans savoir ce qui s'était passé. Là, P'tit Marcel a testé avec tout son savoir et a trouvé des réponses éloquentes qui m'auraient échappées, merci à lui.
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include, (...)
Non, non, je ne m'inquiète pas, c'est juste une question que je me suis posée en lisant des messages parlant d'include sur ce même NG. Merci de vos réponses. Je vais peut-être essayer maintenant que je sais que ça n'explose pas ;-)
-- A'tchao
Le Fou http://gloupclub.free.fr/ http://www.ffessm-cd84.com/ http://ehiller.club.fr/
Que se passe-t-il si on a :
<?php
include 'toto.php' ;
?>
et que le fichier "toto.php" contient :
include 'toto.php' ;
Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
Pourquoi ne pas avoir essayé ?
Parceque j'avais peur que ça explose ;-)
En vrai, parcequ'il se peut que quelqu'un ait déjà essayé et me fournisse
une réponse, m'évitant ainsi un éventuel crash m'obligeant à redémarrer ma
bécanne.
De plus, je ne suis pas assez calé en PHP pour savoir quelles instructions
rajouter dans mon code pour obtenir tel ou tel message d'erreur significatif
et j'aurais pu me retrouver avec une page vide (comme chez P'tit Marcel)
sans savoir ce qui s'était passé.
Là, P'tit Marcel a testé avec tout son savoir et a trouvé des réponses
éloquentes qui m'auraient échappées, merci à lui.
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes
include, (...)
Non, non, je ne m'inquiète pas, c'est juste une question que je me suis
posée en lisant des messages parlant d'include sur ce même NG.
Merci de vos réponses.
Je vais peut-être essayer maintenant que je sais que ça n'explose pas ;-)
--
A'tchao
Le Fou
http://gloupclub.free.fr/
http://www.ffessm-cd84.com/
http://ehiller.club.fr/
Que se passe-t-il si on a : <?php include 'toto.php' ; ?> et que le fichier "toto.php" contient : include 'toto.php' ; Ca boucle indéfiniment ? Ca donne une erreur ? Ca explose ? ;-)
Pourquoi ne pas avoir essayé ?
Parceque j'avais peur que ça explose ;-) En vrai, parcequ'il se peut que quelqu'un ait déjà essayé et me fournisse une réponse, m'évitant ainsi un éventuel crash m'obligeant à redémarrer ma bécanne. De plus, je ne suis pas assez calé en PHP pour savoir quelles instructions rajouter dans mon code pour obtenir tel ou tel message d'erreur significatif et j'aurais pu me retrouver avec une page vide (comme chez P'tit Marcel) sans savoir ce qui s'était passé. Là, P'tit Marcel a testé avec tout son savoir et a trouvé des réponses éloquentes qui m'auraient échappées, merci à lui.
Si tu t'inquiètes parce que tu aurais peut-être mal structuré tes include, (...)
Non, non, je ne m'inquiète pas, c'est juste une question que je me suis posée en lisant des messages parlant d'include sur ce même NG. Merci de vos réponses. Je vais peut-être essayer maintenant que je sais que ça n'explose pas ;-)
-- A'tchao
Le Fou http://gloupclub.free.fr/ http://www.ffessm-cd84.com/ http://ehiller.club.fr/
Cedric Olmanst
On est d'accord que si le site est bien monté, on ne devrait, normalement,
pas a avoir soin de require_once.
non ?
Je pense en effet que si ce point a été un peu réfléchi avant de se
lancer directement, on ne devrait pas en avoir besoin.
Personnellement, j'avoue y avoir recours pour ne pas avoir à réfléchir à
ce genre de choses.
Cédric Olmanst
On est d'accord que si le site est bien monté, on ne devrait, normalement,
pas a avoir soin de require_once.
non ?
Je pense en effet que si ce point a été un peu réfléchi avant de se
lancer directement, on ne devrait pas en avoir besoin.
Personnellement, j'avoue y avoir recours pour ne pas avoir à réfléchir à
On est d'accord que si le site est bien monté, on ne devrait, normalement,
pas a avoir soin de require_once.
non ?
Je pense en effet que si ce point a été un peu réfléchi avant de se
lancer directement, on ne devrait pas en avoir besoin.
Personnellement, j'avoue y avoir recours pour ne pas avoir à réfléchir à
ce genre de choses.
Cédric Olmanst
ftc
Je suis content que vous me parliez de ça. Je l'ai trouvé sur le net et dans mon bouquin. Mais si je n'utilise, ( pas encore du moins ) require_once.
On est d'accord que si le site est bien monté, on ne devrait, normalement, pas a avoir soin de require_once.
non ?
Ca dépend de la manière de structurer.
Si tu développes en objet par exemple avec une classe par fichier, tu résous les dépendances en incluant les require_once en début de fichier et si plusieurs classes ont besoin des même fichiers, on ne risque pas d'inclure deux fois. Et pourtant, ce n'est pas ce que j'appelle mal structurer son programme.
Je suis content que vous me parliez de ça. Je l'ai trouvé sur le net et dans
mon bouquin.
Mais si je n'utilise, ( pas encore du moins ) require_once.
On est d'accord que si le site est bien monté, on ne devrait, normalement,
pas a avoir soin de require_once.
non ?
Ca dépend de la manière de structurer.
Si tu développes en objet par exemple avec une classe par fichier, tu
résous les dépendances en incluant les require_once en début de fichier
et si plusieurs classes ont besoin des même fichiers, on ne risque pas
d'inclure deux fois. Et pourtant, ce n'est pas ce que j'appelle mal
structurer son programme.
Je suis content que vous me parliez de ça. Je l'ai trouvé sur le net et dans mon bouquin. Mais si je n'utilise, ( pas encore du moins ) require_once.
On est d'accord que si le site est bien monté, on ne devrait, normalement, pas a avoir soin de require_once.
non ?
Ca dépend de la manière de structurer.
Si tu développes en objet par exemple avec une classe par fichier, tu résous les dépendances en incluant les require_once en début de fichier et si plusieurs classes ont besoin des même fichiers, on ne risque pas d'inclure deux fois. Et pourtant, ce n'est pas ce que j'appelle mal structurer son programme.
Olivier Miakinen
Pourquoi ne pas avoir essayé ?
[...] parcequ'il se peut que quelqu'un ait déjà essayé et me fournisse une réponse, m'évitant ainsi un éventuel crash m'obligeant à redémarrer ma bécanne.
;-)
<troll> Pas de danger : ni Apache ni PHP n'ont été écrits par Microsoft. Alors, si tu les fais planter, ça n'entraîne pas l'OS avec. </troll>
De plus, je ne suis pas assez calé en PHP pour savoir quelles instructions rajouter dans mon code pour obtenir tel ou tel message d'erreur significatif et j'aurais pu me retrouver avec une page vide (comme chez P'tit Marcel) sans savoir ce qui s'était passé. Là, P'tit Marcel a testé avec tout son savoir et a trouvé des réponses éloquentes qui m'auraient échappées, merci à lui.
Là en effet cela peut se défendre. Note que tu aurais pu obtenir d'abord une page vide, comme P'tit Marcel, et ensuite venir demander pourquoi.
Je vais peut-être essayer maintenant que je sais que ça n'explose pas ;-)
Bonne idée : rien ne vaut l'expérience que l'on peut faire soi-même.
--
Ce bug n'est pas résolu dans Microsoft Outlook Express 5.00.2615.200 ?
Pourquoi ne pas avoir essayé ?
[...] parcequ'il se peut que quelqu'un ait déjà essayé et me fournisse
une réponse, m'évitant ainsi un éventuel crash m'obligeant à redémarrer ma
bécanne.
;-)
<troll>
Pas de danger : ni Apache ni PHP n'ont été écrits par Microsoft.
Alors, si tu les fais planter, ça n'entraîne pas l'OS avec.
</troll>
De plus, je ne suis pas assez calé en PHP pour savoir quelles instructions
rajouter dans mon code pour obtenir tel ou tel message d'erreur significatif
et j'aurais pu me retrouver avec une page vide (comme chez P'tit Marcel)
sans savoir ce qui s'était passé.
Là, P'tit Marcel a testé avec tout son savoir et a trouvé des réponses
éloquentes qui m'auraient échappées, merci à lui.
Là en effet cela peut se défendre. Note que tu aurais pu obtenir d'abord
une page vide, comme P'tit Marcel, et ensuite venir demander pourquoi.
Je vais peut-être essayer maintenant que je sais que ça n'explose pas ;-)
Bonne idée : rien ne vaut l'expérience que l'on peut faire soi-même.
--
Ce bug n'est pas résolu dans Microsoft Outlook Express 5.00.2615.200 ?
[...] parcequ'il se peut que quelqu'un ait déjà essayé et me fournisse une réponse, m'évitant ainsi un éventuel crash m'obligeant à redémarrer ma bécanne.
;-)
<troll> Pas de danger : ni Apache ni PHP n'ont été écrits par Microsoft. Alors, si tu les fais planter, ça n'entraîne pas l'OS avec. </troll>
De plus, je ne suis pas assez calé en PHP pour savoir quelles instructions rajouter dans mon code pour obtenir tel ou tel message d'erreur significatif et j'aurais pu me retrouver avec une page vide (comme chez P'tit Marcel) sans savoir ce qui s'était passé. Là, P'tit Marcel a testé avec tout son savoir et a trouvé des réponses éloquentes qui m'auraient échappées, merci à lui.
Là en effet cela peut se défendre. Note que tu aurais pu obtenir d'abord une page vide, comme P'tit Marcel, et ensuite venir demander pourquoi.
Je vais peut-être essayer maintenant que je sais que ça n'explose pas ;-)
Bonne idée : rien ne vaut l'expérience que l'on peut faire soi-même.
--
Ce bug n'est pas résolu dans Microsoft Outlook Express 5.00.2615.200 ?
Le Fou
Olivier Miakinen a écrit :
Le Fou a écrit (dans sa signature) :
--
Ce bug n'est pas résolu dans Microsoft Outlook Express 5.00.2615.200 ?
Non, ce bug n'est pas résolu dans MS OE 5.00.2615.200 + QuoteFix 1.19.2 ! Tu me lâches avec ça ou je t'envoie un script qui va faire exploser ta bécanne ;-))
-- A'tchao
Le Fou http://gloupclub.free.fr/ http://www.ffessm-cd84.com/ http://ehiller.club.fr/
Olivier Miakinen a écrit :
Le Fou a écrit (dans sa signature) :
--
Ce bug n'est pas résolu dans Microsoft Outlook Express 5.00.2615.200 ?
Non, ce bug n'est pas résolu dans MS OE 5.00.2615.200 + QuoteFix 1.19.2 !
Tu me lâches avec ça ou je t'envoie un script qui va faire exploser ta
bécanne ;-))
--
A'tchao
Le Fou
http://gloupclub.free.fr/
http://www.ffessm-cd84.com/
http://ehiller.club.fr/
Ce bug n'est pas résolu dans Microsoft Outlook Express 5.00.2615.200 ?
Non, ce bug n'est pas résolu dans MS OE 5.00.2615.200 + QuoteFix 1.19.2 ! Tu me lâches avec ça ou je t'envoie un script qui va faire exploser ta bécanne ;-))
-- A'tchao
Le Fou http://gloupclub.free.fr/ http://www.ffessm-cd84.com/ http://ehiller.club.fr/