PHPの最大再帰層数

1315 ワード

PHPの最大再帰層数はプログラムメモリ限度額と関係があります.php 5デフォルトでは、プログラムは128 Mのメモリを使用することができます.したがって、再帰層数が大きすぎて128 Mのメモリがなくなった場合、プログラムは致命的なエラーを発生して終了します.
  php.ini PHP; Maximumamount of memory a script may consume (128MB); http://php.net/memory-limitmemory_limit= 128M 
 
下の小さい実験はphpが128 Mのメモリ割り当ての下で簡単な再帰手続きを実行する時、再帰レベルは最高38万層に達することができます.         function re($level)        {                printf("now is level%d
",$level);
                $level++;                re($level);                printf("level %d isout
",$level);
        }         re(1); 
実行後出力:now is level380118now is level380119now is level380120PHP Fatalerror:  Allowed memory size of 134217728bytes exhausted (tried to allocate 130968 bytes) in /root/envir/recusion.php online 8