2010-01-22 5 views
1

Y a-t-il une limite au nombre de fichiers inclus profonds que vous pouvez aller avec PHP?Combien de PHP peut inclure aller

Par exemple:

file1.php comprend file2.php qui comprend file3.php qui comprend file4.php et ainsi de suite ...

Je regardais dans le fichier php.ini et ne pas voir rien à ce sujet. Cependant, pour une raison quelconque, file3.php n'est pas inclus. J'ai vérifié la syntaxe pour m'assurer qu'il était correct pour tous les inclus.

+1

Pouvez-vous fournir la structure de fichiers de ces fichiers? En d'autres termes, sont-ils tous dans le même répertoire? – waiwai933

Répondre

5

Si vous utilisez include_once et que vous tentez indirectement d'inclure deux fois le même fichier, la deuxième fois n'aura aucun effet.

Sinon, essayez d'utiliser require() au lieu de include(), ce qui entraînera une erreur en cas d'échec. Cela vous permettra de savoir si c'est un cas simple d'un nom de fichier typo'd, ou si un fichier ne peut pas être trouvé en raison d'une spécification incorrecte d'un chemin relatif.

2

Ce n'est probablement pas un problème d'imbrication, mais un problème syntaxique. Si vous affichez la section require dans chaque fichier, cela peut fournir un indice quant au problème.

-3

Je pense que si vous avez besoin de demander, vous faites quelque chose de mal.

. Je me souviens d'avoir lu quelque part ...

+1

Qu'est-ce que cela signifie même? – meagar

+0

@masher: Que faites-vous ici même, étant donné que tout ce site est de poser des questions? – FrustratedWithFormsDesigner

+1

C'est là où je l'ai vu: http://blogs.msdn.com/oldnewthing/archive/2007/03/01/1775759.aspx La prémisse de base est que si vous êtes inquiet de frapper une limite quelque part, alors il y a probablement un autre moyen de le faire, ou votre conception est imparfaite. – masher

0

Non, il n'y a pas de limite. Le moteur ne fait que continuer à ouvrir les fichiers et à les lire. Cela doit finalement s'arrêter quelque part pour que l'exécution se termine. Cependant, il est possible d'utiliser toute la mémoire disponible.

Donc, oui, il y a une limite.

Questions connexes