PHPUnitをしていたらMaximum function nesting level of 'xxx' reached, aborting!となったときの対応方法
事象 : トレイトを使ってテストをしていたら怒られた
Testing started at 10:12 ...
path\to\xampp\php\php.exe path/to/vendor/phpunit/phpunit/phpunit --no-configuration ...
PHPUnit 6.5.8 by Sebastian Bergmann and contributors.
PHP Fatal error: Maximum function nesting level of '256' reached, aborting! in path\to\vendor\laravel\framework\src\Illuminate\Support\helpers.php on line 1106
PHP Stack trace:
PHP 1. {main}() path\to\vendor\phpunit\phpunit\phpunit:0
//..省略..
PHP 256. trait_uses_recursive($trait = *uninitialized*) path\to\vendor\laravel\framework\src\Illuminate\Support\helpers.php:1109
原因 : 実行したループが多すぎるから
注意: 100 から 200 を超えるようなレベルの再帰呼び出しは避けてください。そんなことをすると、 スタックが破壊され、スクリプトが異常終了してしまいます。 無限に続くような再帰処理は、プログラミングの間違いでしょう。
PHP: ユーザー定義関数 - Manual
一時的対策 : XDebugの設定でループカウントを上げる
Testing started at 10:12 ...
path\to\xampp\php\php.exe path/to/vendor/phpunit/phpunit/phpunit --no-configuration ...
PHPUnit 6.5.8 by Sebastian Bergmann and contributors.
PHP Fatal error: Maximum function nesting level of '256' reached, aborting! in path\to\vendor\laravel\framework\src\Illuminate\Support\helpers.php on line 1106
PHP Stack trace:
PHP 1. {main}() path\to\vendor\phpunit\phpunit\phpunit:0
//..省略..
PHP 256. trait_uses_recursive($trait = *uninitialized*) path\to\vendor\laravel\framework\src\Illuminate\Support\helpers.php:1109
注意: 100 から 200 を超えるようなレベルの再帰呼び出しは避けてください。そんなことをすると、 スタックが破壊され、スクリプトが異常終了してしまいます。 無限に続くような再帰処理は、プログラミングの間違いでしょう。
PHP: ユーザー定義関数 - Manual
PHP - Fatal error: Maximum function nesting level of '100' reached, aborting!|teratail
php.ini
[XDebug]
;他の設定は省略
xdebug.max_nesting_level=300
Author And Source
この問題について(PHPUnitをしていたらMaximum function nesting level of 'xxx' reached, aborting!となったときの対応方法), 我々は、より多くの情報をここで見つけました https://qiita.com/ponsuke0531/items/4cdce2ad1a60ecad0f37著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .