|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.09.2018, 10:14 | #1 |
Пользователь
Регистрация: 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)? Может дело в какой-то системной настройке? |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |