В противоречие с документацией, в следующем цикле (я создаю выбор), когда переменная $retval
достигает 2048 символов, установлено null
,
foreach ($cache_ecmcategories as $category) {
$retval.= '<option value="'.$category['rowid'].'"';
if (($isfilter ? $category['label'] : $category['rowid']) == $defaulttx)
$retval.= ' selected="selected"';
$retval.= '>'.$category['label'].'</option>'; <== This line generate the problem
}
Также измените версию PHP с 5.6.25 на 7.0.10, проблема остается прежней
В чем причина этого странного поведения?
Я не могу воспроизвести вашу проблему на моем сервере с помощью следующего сценария:
<?php
$foo='';
for($i=0; $i < 1000; $i++) $foo .= "cur:$i ";
var_dump($foo);
Даже дополнительный $foo .= NULL;
не вызывает ошибку для меня.
Вы действительно уверены, что ошибка возникает в вашем опубликованном коде? Вы пытались добавить дополнительные операторы отладки?
Других решений пока нет …