expressionengine перестал анализировать некоторые теги после добавления содержимого

Я изменяю запись канала механизма выражений, для этого канала есть несколько полей в группе, и два являются сетками. в шаблоне у меня есть циклы, которые проходят через строки в сетке и выводят различные поля. это все работает, как ожидалось.

Недавно я хотел добавить контент, и когда я это сделал, мои существующие циклы больше не анализировались, просто вывод

{grid_name0}
<div>stuff</div>
{/grid_name0}

и любой {grid_name0:fieldname} были заменены на пустую строку / ничего. другие теги продолжали работать правильно, включая теги и цикл в новом контенте, который я добавил.

после небольшой отладки я обнаружил, что есть определенное количество текста, которое его сломает, я могу добавить комментарий к шаблону, например:
<!-- 01234567890123456789012345678901234567890123456789 -->
что когда я доберусь до определенной длины, это сломает страницу. может показаться, что предел памяти достигается до того, как механизм выражения обрабатывает весь контент, я проверил различные области на наличие ограничений памяти, и они, кажется, установлены на приемлемые значения (и это довольно простой / легкий сайт), однако я подозреваю, что там это предел, установленный где-то, о чем я не знаю.

это на движке выражений 2.7.2 с php 5.2.17, я могу предоставить дополнительную информацию из phpinfo при желании, но php memory_limit установлен на 512M (что, честно говоря, кажется слишком излишним).

возможно, связано, но одна из вещей, которые я добавил, это «расширенное» условие с {if:else}Если у меня есть этот подарок, но меньше текста, чем требуется, чтобы разбить страницу, он также сломается точно так же.

Заранее благодарю за любую помощь!

1

Решение

Огромное спасибо поддержке ellis labs, они указали мне на увеличение pcre.backtrack_limit сверх 100000 по умолчанию, и теперь он обрабатывает все теги. Оглядываясь назад, я должен был это проверить раньше, но сталкивался с такими проблемами так редко, что это никогда не приходило мне в голову.

редактировать система / ExpressionEngine / Config / config.php и добавьте это сразу после начальной строки:

ini_set('pcre.backtrack_limit', 100000000);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]