SymfonyWorld Online 2022 Winter Edition


php.ini の設定により動作が変化します。

PCRE 設定オプション
名前 デフォルト 変更可能 変更履歴
pcre.backtrack_limit "1000000" PHP_INI_ALL  
pcre.recursion_limit "100000" PHP_INI_ALL  
pcre.jit "1" PHP_INI_ALL  
PHP_INI_* モードの詳細および定義については どこで設定を行うのか を参照してください。

以下に設定ディレクティブに関する 簡単な説明を示します。

pcre.backtrack_limit int

PCRE のバックトラック処理の制限値。 PHP < 5.3.7 ではデフォルトが 100000 でした。

pcre.recursion_limit int

PCRE の再帰処理の制限値です。この値を大きくすると、 使用可能なプロセススタックを使い切ってしまい、 (OS のスタックサイズの制限値に達して) PHP をクラッシュさせてしまうことに注意しましょう。

pcre.jit bool

PCRE の just-in-time コンパイルを利用するかどうか。

add a note

User Contributed Notes 2 notes

chris at ocproducts dot com
12 years ago
pcre.backtrack_limit sets the maximum bind length PREG calls (e.g. preg_replace_callback) can make. However the actual maximum seems to be approximately half the value set here, possibly due to the character encoding that PCRE runs with internally.
610010559 at qq dot com
2 years ago
pcre.backtrack_limit can be set to -1;
ini_set("pcre.backtrack_limit", "-1");

after i put the above code in my code, it works;
so i guess -1 means infinite(i am not very sure ,but it works);
so when you have not idea how much it should be set in your program, you can try this.
To Top