Ошибка "
Cannot send headers; headers already sent" в любой программе на PHP обычно является симптомом какой-либо другой ошибки.
Смысл такой: интерпретатор говорит вам, что он не может отправить браузеру заголовки сообщения HTTP, потому что уже начата отправка тела сообщения.
По стандарту HTTP сначала должны быть отправлены все заголовки, а потом уже тело сообщения.
Почему так возникает?
Так возникает чаще всего потому, что в интерпретаторе произошла какая-либо другая ошибка, и интерпретатор отправил сообщение об этой ошибке браузеру.
Это сообщение уже является телом сообщения, и после него, соответственно, отправлять заголовки HTTP уже нельзя.
Чтобы узнать, какова первичная ошибка -
включите сначала вывод ошибок Magento на экран.