в сайте есть несколько файлов php и с каждого отправляются header-ы.При запуске сайта ругается что отправление header-ов невозможна header-ы отправлены с одного из файлов.Что сделать чтобы все работало.
после отправки заголовков выводить информацию можно использовать шаблонитизаторы twig/smarty, framework с шаблонитизаторами symfony2 так как там уже есть реализация накопления заголовков и вывода, чтобы вывести первое потом второе. https://php.net/manual/ru/function.ob-start.php Код (PHP): <?php function callback($buffer) { echo $buffer; } ob_start("callback"); ?> <html> <body> <p>Это все равно что сравнить яблоки и апельсины.</p> </body> </html> <?php header('Location: /'); ob_end_flush();
а другими способами?(поменять настройки среды у меня openserver)(Ходил на курсы php там препод писал заголовки в разных файлах и не использовал obstart(как он это делал не помню) и все работало)
Не помогут настройки, сначала заголовки, потом информация. ob_start`ы писать совсем не обязательно, как и использовать шаблонизаторы, но тогда нужно просто следить за тем, что бы до заголовков ничего не отправилось на сервер. Кстати, отправка может происходить не только явно, но и "сама по себе", например в конце php-файла вы оставили закрывающий тег ?> (чего делать не нужно) и все что за ним, пускай даже пробел, пойдет в ответ. Другими способами, даже если найдете, пользоваться не стоит. Надо сразу привыкать писать правильно, иначе вас может постигнуть страшная участь: вы станете адептом попова и больше никогда не сможете писать нормальный код. Я серьезно )