Почему не комментирование последней строки в этом коде может привести к фатальной ошибке
$html = phpQuery::newDocumentHTML($social_icons_block);
$html->find('.managed-form')->remove();
$html->find('.drag-handle')->parent()->remove();
$html->find('.set-social-icons')->parent()->remove();
//$html->find('.pull-left-space')->remove();
Ошибка
Неустранимая ошибка: допустимый размер памяти 134217728 байт исчерпан (попытался выделить 20 байт) в /Applications/AMPPS/www/startup/assets/classes/phpQuery/phpQuery/phpQueryObject.php в строке 3069
HTML это
<div class="managed-form">
<div class="wrp">
<h3>Social Icons</h3>
<div name="set-social-icons" complex-input="set" template=".set-social-icons"></div>
</div>
</div>
<div class="set-social-icons row">
<div class="pull-left">
<div class="drag-handle">⇅</div>
</div>
<div class="pull-left-space">
<select name="social-icon" class="inputBox-xsmall">
<option value="facebook">Facebook</option>
<option value="linkedin">LinkedIn</option>
<option value="twitter">Twitter</option>
<option value="youtube">Youtube</option>
<option value="instagram">Instagram</option>
<option value="pinterest">Pinterest</option>
<option value="google-plus">Google Plus</option>
<option value="rss">RSS</option>
</select>
</div>
<div class="pull-left-space link-outer">
<input name="link" class="inputBox inputBox-small" placeholder="Link To"/>
</div>
<div class="pull-left-space">
<input type="button" class="add-row" value="+" />
<input type="button" class="delete-row" value="-" />
</div>
</div>
Добавление echo memory_get_usage (); перед закомментированной строкой выдает 4517876. Память установлена на 128М
В данном конкретном случае оказывается, что мои селекторы не были правильно настроены
Родителя ‘.set-social-icons’ не существует, его нет, как видно из html. Поэтому я думаю, что код удаляет все HTML, а вторая следующая строка пытается удалить что-то из пустого документа.
Возможно, функция getNodeXpath прерывается, когда HTML-код в переменной не существует
Спасибо
Других решений пока нет …