Используйте JasperReports. Можно или вытянуть данные из Базы данных или XML. Можно экспортировать во многие форматы: PDF, Excel, HTML, и т.д.
Для кнопки изображения я предлагаю вам использовать этот код:
<input type="image" src="<?php echo $html->image('image.gif'); ?> name="image" width="60" height="60">
Чтобы открыть окно с действием внутри, что-то вроде этого:
<?php echo $html->link('yourlinkdescription', '#', array('onclick'=>"var openWin = window.open('".$html->url(array('action'=>'youraction')."', '_blank', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,resizable=1,width=500,height=500'); return false;")); ?>
Что дальше попробовать (хотя не уверен, лучше ли это разместить в комментарии после вопроса Алекса выше): Что бы я попробовал дальше (кроме Devel :: Leak):
Попробуйте исключить «ненужные» части вашей программы или сегментировать ее на отдельные исполняемые файлы (они могут использовать сигналы для связи или, возможно, вызывать друг друга с аргументами командной строки) - цель состоит в том, чтобы уравновесить исполняемый файл в наименьший объем кода, который все еще демонстрирует плохое поведение . Если вы уверены, что это делает не ваш код, уменьшите количество используемых вами внешних модулей, особенно тех, которые имеют реализацию XS. Если, возможно, это ваш собственный код, ищите что-нибудь потенциально подозрительное: