2009-01-21 4 views
0

Je suis sur un serveur Windows IIS desservant certains sites php. Nous avons déplacé un site PHP travaillant sur notre serveur, cependant soumettre une des formes retourne:Qu'est-ce qui cause généralement un débordement de pile à PHP?

PHP has encountered a Stack overflow 

En commentant la INSERT MYSQL et l'affectation des variables de session, les processus de forme, mais ceux-ci sont des segments essentiels du formulaire de soumission .

Toute aide serait grandement appréciée.

+0

Lorsque vous écrivez un clone de débordement de pile en PHP :) –

Répondre

6

Trop de récursion?

+2

Voir http://stackoverflow.com/questions/466884/what-generally-causes-php-to- rencontre-a-pile-débordement # 466901 –

+0

Argh ... vous avez débordement de pile stack overflow ... c'est comme une récursivité récursive ... – troelskn

+0

Haha, gentille Greg. –

1

Pour moi, il est généralement une boucle infinie (y compris récursion infinie)

1

Quelle version de php utilisez-vous? Dans certaines versions plus anciennes, une récursion infinie (ou très profonde) provoquerait un débordement de pile, si je me souviens bien. Aujourd'hui, vous obtiendrez un message d'erreur plus spécifique ("Niveau d'imbrication maximum de la fonction '100' atteint, abandon!").

Vous mentionnez les sessions comme cause possible; Stockez-vous des structures de données complexes en session? Les sessions sont sérialisées et non sérialisées entre les requêtes, ce qui peut probablement causer des problèmes si vous y mettez trop de choses (je ne sais pas trop combien c'est trop). Peut-être pourriez-vous réduire cela?

0

[hors-sujet]

$stackoverflow = file_get_contents('http://stackoverflow.com/tags/php'); 
// voila, php encountered stackoverflow ^-^ 
Questions connexes