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: Я подозревал, что это проблема
.Проблема с форматом написания шаблона bank.htm, поэтому я был очень расстроен и начал анализировать шаблон. Честно говоря, анализировать шаблон, когда он слишком большой, - это действительно головная боль. Видимо причина не нашлась. Что еще более удручает, так это
второй шаг: затем я обнаружил, что после разделения этого шаблона он выполнялся нормально. В этот раз я изначально подозревал, возникает ли ошибка обычного сопоставления при большом объеме данных, поэтому я перешел к bugs.php. net начал поиск http://bugs.php.net/search.php?c ... ace&x=3&y=5. Я искал и искал здесь и наконец нашел это место: http://bugs.php.net/bug. .php?id=39405 и внезапно обнаружил, что это проблема с конфигурацией 5.2. После настройки больших pcre.backtrack_limit и pcre.recursion_limit проблема была решена,
поэтому я написал это подробно, чтобы поделиться своими идеями. за решение проблемы :)