Случается, когда ваш скрипт пытается отправить HTTP-клиенту клиенту, но он уже был выведен ранее, что привело к тому, что заголовки уже отправлены на клиент.
Это E_WARNING
, и он не остановит сценарий.
Типичным примером может быть файл шаблона, подобный этому:
My Page
...
Функция session_start()
попытается отправить клиенту файлы cookie сеанса. Но PHP уже отправил заголовки, когда он написал элемент в выходной поток. Вам нужно будет переместить
session_start()
в верхнюю часть.
Вы можете решить эту проблему, пройдя через строки до код, запускающий предупреждение, и проверьте, где он выдается. Переместите любой заголовок, отправляющий код перед этим кодом.
Часто пропускаемый вывод - это новые строки после закрытия PHP ?>
. Считается стандартной практикой опускать ?>
, когда это последняя вещь в файле. Аналогичным образом, еще одной распространенной причиной этого предупреждения является то, что перед открытием перед ним появляется пустое пространство, строка или невидимый символ, в результате чего веб-сервер отправляет заголовки и пробел / новую строку, таким образом, когда PHP начинает синтаксический анализ, он не сможет для отправки любого заголовка.
Если в вашем файле содержится более одного кодового блока , у вас не должно быть пробелов между ними. (Примечание: у вас может быть несколько блоков, если у вас есть код, который был автоматически сконструирован)
Также убедитесь, что в вашем коде не указаны знаки байтового заказа, например, когда кодировка скрипта является UTF -8 с BOM.
Вопросы, относящиеся
Я думаю, с точки зрения разработчика, это была бы открытая модульная архитектура . ИМХО, всегда есть что добавить, чего платформа CMS не предоставляет из коробки. Кроме того, он должен быть на основе базы данных .
Существующие модули должны охватывать наиболее важные задачи: новости, контакты, документы, форумы, магазин, опрос, события, галерея изображений, навигация, ссылки, полнотекстовый поиск, логин, информационный бюллетень и т. Д.
С точки зрения пользователя, я думаю, что редактор контента ( WYSIWYG ) является наиболее важной частью. Возможность редактирования внутри «живой» страницы - отличная возможность. Загрузка изображений с автоматическим изменением размера и загрузкой файлов должна быть простой.
Существование шаблонов страниц / элементов управления и веб-сайтов также очень полезно, когда вы начинаете работу с CMS. Управление версиями документов / страниц также часто требуется и является механизмом рабочего процесса , где есть авторы, которые создают контент, и редакторы, которым разрешено его разблокировать.
RSS-рассылка - еще одна важная функция, которая должна быть доступна в современной CMS.
Для международного сайта очень важно, чтобы CMS имела какую-то встроенную многоязычную поддержку .
Тогда я думаю, что хорошая CMS в настоящее время должна предоставлять инструменты для поисковой оптимизации, например, должен быть способ определения и вставки URL-адресов, удобных для поисковых систем .
Не упомянутый уже: система CMS должна легко интегрироваться в существующее программное обеспечение infrastucture, таким образом, совместимость является сильным требованием.
Пример: Если Ваш CMS поддерживал WebDav, Вы выигрываете Microsoft Office как инструменты редактирования без любых дополнительных расходов.
1) WYSIWYG-редактор. Способность отредактировать содержимое HTML, как будто это было в Microsoft Word. Это includs способность загрузить Ваши собственные изображения.
2) Создающие новые страницы без строк запроса т.е.) не 'pages.aspx? pageid=5', но 'contact.aspx'
3) Дополнительные функции, такие как новости, фотогалерея, блог, управление пользователями, и т.д.
Лично мне действительно нравится стартовый набор CMS, который Microsoft имеет в наличии на codeplex. Это очень хорошо сделано и использует устройство хранения данных XML-файла, таким образом, этому не нужна база данных !
В дополнение к вещам, которые упоминали другие:
Кеширование
Если ваша страница содержит много «кусочков» - например, панель баннера, левая панель, главная панель, правая панель и панель нижнего колонтитула, и, возможно, у каждого из них будет несколько «виджетов», тогда усилия по созданию страницы станут значительными (как при вызовах базы данных, так и при рендеринге на веб сервер). Наличие некоторого интеллектуального кэширования, способного обнаруживать, когда какой-либо из базовых блоков контента изменился, может сильно отличаться от производительности
Матрица CMS может быть полезным ресурсом сравнения существующих продуктов CMS
Функции Вам нужно большинство, будут естественно зависеть от того, как CMS будет используемым, и кого. Для некоторых лицензирование будет самой большой проблемой, в то время как для других, некоторое неясное требование как поддержка файлов TIFF могло быть вещью.
, Если Вы хотите en обширный список функций CMS, смотрите на Списки функций CMS
При работе с клиентами я часто слышал ряд требований, которые, по моему мнению, имели мало общего с тем, что действительно нужно современной CMS. Слишком часто акцент делался на функциях, которые должны были быть в области дизайнеров шаблонов, таких как поддержка адаптивного дизайна (что бы это ни значило на самом деле), возможность добавлять элементы бренда и т. Д.
Я составил список В топ-5 представлены современные потребности CMS по адресу: http://www.simoahava.com/content-management/modern-cms-top-5-features/
Модульная архитектура и высокий уровень безопасности. являются наиболее важными функциями с технической точки зрения. Полный контроль над контентом, исходным кодом и самим программным решением - все это огромные преимущества для любой CMS.
Симо Ахава
Мое требование номер один при выборе системы CMS - это возможность легко изменять скин и контролировать разметку.
Пользователи могут быть очень привередливы в получении макета ТОЧНО, как они хотят.