1. ホーム
  2. php

[解決済み] 関数呼び出しのネスト数の上限を増やす

2022-07-02 21:24:42

質問

PHP には非常に悪い制限があります。ある関数 a1() を呼び出すと a2() が呼び出され、その関数は a3 を呼び出します。 a99() が呼び出されると a100() と表示されます。

<ブロッククオート

致命的なエラーです。関数の最大ネストレベル'100'に達しました。

100のネスト呼び出しの制限を500または10000に増やす方法はありますか?

私は多くのコールバックを持つイベントベースのシステムを開発しているので、これは私にとって重要です。

どのように解決するのですか?

このエラーメッセージは、特に XDebug 拡張モジュールから発生します。PHP 自体は関数の入れ子に制限を設けていません。変更 設定を変更する を変更してください。

xdebug.max_nesting_level = 200

またはPHPコードで

ini_set('xdebug.max_nesting_level', 200);

本当に変更する必要があるかどうか(つまり、再帰的な関数に代わる解決策があるかどうか)については、コードを見ないとわかりません。