Случается, когда ваш скрипт пытается отправить HTTP-клиенту клиенту, но он уже был выведен ранее, что привело к тому, что заголовки уже отправлены на клиент.
Это E_WARNING
, и он не остановит сценарий.
Типичным примером может быть файл шаблона, подобный этому:
My Page
...
Функция session_start()
попытается отправить клиенту файлы cookie сеанса. Но PHP уже отправил заголовки, когда он написал элемент в выходной поток. Вам нужно будет переместить
session_start()
в верхнюю часть.
Вы можете решить эту проблему, пройдя через строки до код, запускающий предупреждение, и проверьте, где он выдается. Переместите любой заголовок, отправляющий код перед этим кодом.
Часто пропускаемый вывод - это новые строки после закрытия PHP ?>
. Считается стандартной практикой опускать ?>
, когда это последняя вещь в файле. Аналогичным образом, еще одной распространенной причиной этого предупреждения является то, что перед открытием перед ним появляется пустое пространство, строка или невидимый символ, в результате чего веб-сервер отправляет заголовки и пробел / новую строку, таким образом, когда PHP начинает синтаксический анализ, он не сможет для отправки любого заголовка.
Если в вашем файле содержится более одного кодового блока , у вас не должно быть пробелов между ними. (Примечание: у вас может быть несколько блоков, если у вас есть код, который был автоматически сконструирован)
Также убедитесь, что в вашем коде не указаны знаки байтового заказа, например, когда кодировка скрипта является UTF -8 с BOM.
Вопросы, относящиеся
Компилятор Отрывка является большим для этого.
LINQPad также хорош для проверения кода LINQ.
<час>РЕДАКТИРОВАНИЕ
я предполагаю пора, чтобы я упоминаю, что Компилятор Отрывка не был обновлен за более чем пять лет и не является поэтому больше наилучшим вариантом.
Однако я продал LINQPad по сниженной цене первоначально. Как Will Dean упомянул в комментариях, LINQPad превосходен для всех видов кода, не только запросов LINQ. На самом деле это стало необходимым инструментом для меня. Я ежедневно использую его, не только для быстрого проверения коротких отрывков, но и для относительно сложных мини-программ. Его усовершенствованное выходное форматирование делает чрезвычайно легким быстро исследовать промежуточные и конечные результаты.
Я всегда сохраняю копию Express Edition выполнения; это может выполнить и отладить проекты, не нуждаясь в надлежащем расположении файла (как долго, поскольку Вы не совершаете нападки, сохраняют). Делает задание для меня...
Вы могли взглянуть в Сценарии C#.
, это - ment, чтобы позволить Вам создавать быстрые сценарии без использования IDE.
кости HTH
Это - что-то, что я никогда не любил о Visual Studio. Одна вещь (и прочертовский единственная вещь) я отсутствую в VB6, была способность создать проект и выполнить его, не сохраняя его или ничто. Было большим для, что Вы сказали.
у меня обычно есть по крайней мере один или два проекта фрагмента каждого типа, (Консоль, Winforms и сеть), который я просто поворачиваю и использую. Таким образом, я не всегда создаю новые проекты.
Я просто использую проект консольного приложения царапины, который я определил для просто этой цели. Я отключил то, что находится в основной программе, и перейдите к городу. Если я решаю, что должен сохранить то, что я моделировал, я создаю новый проект и копирую в него. Так как я делаю это все время, проект всегда в моем списке недавних проектов, также.
Я использую пакетный файл (csc.bat):
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc %1%2%3%4%5%6%7%8%9
Для vb.net я использую этот пакетный файл (vbc.bat):
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc %1%2%3%4%5%6%7 /r:system.windows.forms.dll /r:system.data.dll /r:system.dll
, Например: C:> csc testit.cs
Каждый создаст .net .exe файл. Это решение не так хорошо для приложений Windows Forms, как бы то ни было.
Существует также интерактивная оболочка C#, созданная сверху Моно:
http://mono-project.com/CsharpRepl
Это подобно тому, что другие языки имеют (например, irb с Ruby)
Проверьте также Отрывочный и Отрывочное Дополнение для Отражателя
Я обычно использую csc непосредственно из командной строки
C:\Users\Greg> csc/o-/отладка + Test.cs
Вот то, что я делаю:
Переходят к Инструментам-> Опции-> ProjectsAndSolutions и отключают, "Сохраняют новые проекты, когда создано".
Разжигают новый VS, Ctrl-Shift-N для создания проекта и использования это.
Использование Экспресс C# для имения чего-то, что запускается более быстро и имеет меньше помехи, но все еще достаточно питания сделать большинство вещей.