preg_replaceはphp5.2でデフォルトで許可されているバイト数を超えて使用します。これはpcre.backtrack_limitとpcre.recursion_limitのサイズの問題です。
Discuz! 6.0.0 の正式バージョンがリリースされて以来、皆がアップグレードに忙しくしていますが、一部のプラグインには 6.0 未満で問題があります
たとえば、 http://www.discuz.net/viewthread.php?tid=559133 この銀行プラグイン
PHP 5.2.0以降の環境ではインストール後に白い画面の問題が発生します
Discuz! ユーザーの観点から、私たちはプラグイン作成者がこの問題を解決できるよう支援する必要があります
以下は私の解決プロセスです。いくつかの提案ができれば幸いです
最初に: このプラグインは 5.5 では正常に実行できますが、6.0 では画面が白くなります
Discuz!6.0 テンプレート キャッシュ ファイルの可読性を高めるために、キャッシュ ファイルのインデントが増加し、一部の templates.func.php のテンプレート処理部分が実際に変更されました。
これが理由でしょうか?改造コードを5.5のコードの一部に置き換えたら正常に動作したので、最初はここが問題だと判断していたのですが、原因がわからずかなり落ち込んでいました
ステップ 2: その後、テンプレートを分割した後、テンプレートが正常に実行されたことがわかりました。この時点では、データ量が大きい場合に通常のマッチングのバグがエラーを引き起こすのではないかと最初は疑ったため、bugs.php.net にアクセスして開始しました。 http://bugs.php.net/search.php?c… ace&x=3&y=5 を検索して、最終的にこの場所を見つけました http://bugs.php.net/bug.php? =39405 ですが、突然 5.2 の設定に問題があることがわかり、pcre.backtrack_limit と pcre.recursion_limit を調整したところ、問題は解決しました
。
無制限です