Не поймите это неправильно. Я не собираюсь решать вашу проблему с памятью в этом ответе. Я опубликую еще один ответ с причиной, по которой, я полагаю, у вас может возникнуть проблема с мемом. Следующее - это всего лишь предложение, которое, я надеюсь, вы воспримете как полезное. понять, что ломается и почему.
Следуя принципам рефакторинга, я приведу один пример и покажу, как вы можете очистить его до того момента, когда вы действительно сможете отладить его самостоятельно.
Я немного переношу этот раздел кода для рефакторинга:
if ($myrecentpostscount > 0)
{ ?>
<div class="recentPosts"><h4><?php if ($myHeading !=="") { echo $myHeading; } else `{ echo "Recent Posts";} ?></h4><ul>`
Сначала выньте логику из отображения шаблона (переформатируйте для удобства чтения:
if ($myrecentpostscount > 0)
{
if ($myHeading !=="")
{
$displayHeading = $myHeading;
}
else
{
$displayHeading = "Recent Posts";
}
?>
Во-вторых, замените временные переменные вызовами функций [$ myHeading]
/**
* This function determines if a heading is null, and returns the default if it is.
*/
function getDisplayHeading($customHeading)
{
if ($customHeading == "")
{
return "Recent Posts";
}
return $customHeading;
}
if ($myrecentpostscount > 0)
{
?>
<div class="recentPosts"><h4>
<?php echo getDisplayHeading($myHeading); ?></h4><ul>
Теперь, наконец, когда у вас есть вся логика вверху страницы, вы можете профилировать каждую функцию, чтобы увидеть, сколько памяти она использует и в какой момент слишком много памяти используется в вашем запросе страницы. Я собираюсь опубликовать другой ответ, чтобы попытаться помочь, хотя, потому что я считаю, что у меня есть идея.