PHPには非常に悪い制限が1つあります。関数a1()を呼び出し、それがa2()を呼び出し、それがa3を呼び出すと、次のようa99()
にa100()
なります。
致命的なエラー: 関数の最大ネスト レベル '100' に達したため、中止します。
100 回のネスト呼び出しの制限を 500 または 10000 に増やす方法はありますか?
多数のコールバックを備えたイベントベースのシステムを開発しているため、これは私にとって非常に重要です。
ベストアンサー1
このエラーメッセージは、XDebug拡張機能から発生します。PHP自体には関数のネスト制限はありません。変更設定php.ini で:
xdebug.max_nesting_level = 200
または PHP コード内で:
ini_set('xdebug.max_nesting_level', 200);
本当に変更する必要があるかどうか(つまり、再帰関数に代わる解決策があるかどうか)については、コードがないとわかりません。