実行時設定

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

PCRE 設定オプション
名前 デフォルト 変更可能 変更履歴
pcre.backtrack_limit "1000000" INI_ALL  
pcre.recursion_limit "100000" INI_ALL  
pcre.jit "1" INI_ALL  
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 add a note

User Contributed Notes 2 notes

up
-6
chris at ocproducts dot com
14 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.
up
-15
610010559 at qq dot com
4 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