Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2018, 10:14   #1
CyberX346
Пользователь
 
Регистрация: 09.09.2018
Сообщений: 10
Лампочка Output Buffering Control и header :: консультация

Здравствуйте.

Написал свою CMS на PHP 7 + MySQL и столкнулся с такой проблемой, что на некоторых хостингах, в частности на базе UBUNTU, не всегда срабатывает инструкция header('Location: ') или set_cookie после любой инструкции print в шаблонах.

Что характерно, так это то что на сервере на базе lua с PHP 7 header работает исправно даже после print в шаблон.

Но меня интересует добиться совместимости и с остальными хостингами и поэтому я хочу переписать на Output Buffering Control с использованием ob_start(). Дело в том, что я не нашел в PHP поддержку DOCTYPE HTML 5 с нужными мне namespace и не знаю есть ли способ это испаравить?

Подскажите, как вывести с помощью Output Buffering Control разметку страницы на основе HTML 5 со всей microdata и JSON\LD?

Вот код для проверки: http://cyberx.pro/revolver-cms-v.1.3.2/

Еще была странная ситуация что на LUA + Linux не работала инструкция header после вывода sidebar. Я долго ковырялся и нашел ошибку какого то непонятного происхождения после вывода одного из комментариев из базы данных. Print оставлся, а код я закоментирновал и header заработал прекрасно. Я сделал вывод что это ошибка самого PHP или какой-то его характерной сборки(может компилятор Linux глючнул). Естественно вывод до этого тоже присутствовал - это была doctype и head страницы, но ошибка была именно из-за вывода sidebar через print.

Мне уже писали, что-то вроде того, что так быть не может и после первого же принт не работает header, хотя я доказал, что дело не в этом. Поэтому не пишите пожалуйста, что так не делается.

Вообще можно ли как-то избежать использования OB для того, чтобы оставить header инструкцию рабочей на всех вариантах серверов PHP и Linux(у меня прекрасно работает на Mac OS и на Linux + LUA server)? Может дело в какой-то системной настройке?
CyberX346 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VS, Symbols loaded в Output GTRka Visual C++ 5 19.02.2017 15:25
input,output Ainash Паскаль, Turbo Pascal, PascalABC.NET 8 04.11.2011 13:56
skipped when looking for precompiled header use, warning C4627 Почему пропущен header ? malor Visual C++ 3 26.06.2011 12:25
Ошибка - Warning: Cannot modify header information - headers already sent by (output started at GoldmasteR PHP 5 10.11.2010 19:23
INSERT c OUTPUT Veroonya SQL, базы данных 3 23.09.2009 11:38