Nano Hash - криптовалюты, майнинг, программирование

Я получаю предупреждение о сеансе и файлах cookie, когда загружаю свой php-код на сервер

Я получаю это:

Предупреждение: session_start(): невозможно отправить файл cookie сеанса - заголовки уже отправлены (вывод начался с /www/zxq.net/w/e/e/weedcl/htdocs/index.php:3) в /www/zxq.net/ w/e/e/weedcl/htdocs/common.php в строке 2 Предупреждение: session_start(): невозможно отправить ограничитель кэша сеанса - заголовки уже отправлены (вывод начался с /www/zxq.net/w/e/e/weedcl/ htdocs/index.php:3) в /www/zxq.net/w/e/e/weedcl/htdocs/common.php в строке 2 Предупреждение: невозможно изменить информацию заголовка — заголовки уже отправлены (вывод начинается с /www/ zxq.net/w/e/e/weedcl/htdocs/index.php:3) в /www/zxq.net/w/e/e/weedcl/htdocs/common.php в строке 3 Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался в /www/zxq.net/w/e/e/weedcl/htdocs/index.php:3) в /www/zxq.net/w/e/e/weedcl/htdocs/ common.php в строке 12

Это странно, потому что на локальном хосте все работает нормально.

common.php:

<?php
session_start();
header('Cache-control: private'); // IE 6 FIX

if(isSet($_GET['lang']))
{
$lang = $_GET['lang'];

// register the session and set the cookie
$_SESSION['lang'] = $lang;

setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{

index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php
include_once 'common.php';
?>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
 <title>New Project</title>
 <link rel="stylesheet" type="text/css" href="styles/global.css" />
 <link rel="stylesheet" type="text/css" href="styles/slimbox2.css" />
 <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
 <script type="text/javascript" src="scripts/jquery.corner.js"></script>
 <script type="text/javascript" src="scripts/jquery.validate.js"></script>
 <script type="text/javascript" src="scripts/custom.js"></script>
 <script type="text/javascript" src="scripts/slimbox2.js"></script>
</head>
<body id="home">
<div id="header">
 <div class="container">
  <div id="header-top">
   <h1><a href="http://widerdesign.co.nr/">wider design</a></h1>
   <ul id="lang">
    <li><a href="index.php?lang=en" <?php if($lang=='en') {echo 'class="current"';} ?>>English</a></li>
    <li><a href="index.php?lang=es" <?php if($lang=='es') {echo 'class="current"';} ?>>Español</a></li>
    <li><a href="index.php?lang=tw" <?php if($lang=='tw') {echo 'class="current"';} ?>>中文(繁體)</a></li>
    <li><a href="index.php?lang=cn" <?php if($lang=='cn') {echo 'class="current"';} ?>>中文(简体)</a></li>
   </ul>
  </div>
  <div id="header-bottom">
   <div id="tagline">
    <h2>Nulla vitae tortor mauris. Fusce dapibus ultrices nibh id dignissim.<strong>Phasellus eget nibh ac quam rutrum mollis</strong> at vitae nisl.</h2>
    <p>Pellentesque faucibus est eu tellus varius in suscipit augue dapibus. In turpis ligula, faucibus eu mollis non, tincidunt ac magna. Integer tempor laoreet lacus, non accumsan ligula eleifend a. Nulla vitae tortor mauris. Fusce dapibus ultrices nibh id dignissim. Phasellus eget nibh ac quam rutrum mollis at vitae nisl. Morbi ultricies tristique tortor sed elementum. Vivamus id neque et lectus commodo tempor.</p>
   </div>
   <div id="about">
    <h2><?php echo $lang['h1']; ?></h2>
    <p>Pellentesque faucibus est eu tellus varius in suscipit augue dapibus. In turpis ligula, faucibus eu mollis non, tincidunt ac magna. Integer tempor laoreet lacus, non accumsan ligula eleifend a. Nulla vitae tortor mauris. Fusce dapibus ultrices nibh id dignissim. Phasellus eget nibh ac quam rutrum mollis at vitae nisl. Morbi ultricies tristique tortor sed elementum. Vivamus id neque et lectus commodo tempor. Integer tincidunt, nunc ac hendrerit vestibulum, orci nisl commodo odio, a tempus leo libero nec sapien. Praesent a urna non diam mollis tristique.</p>
   </div>
  </div><!-- #header-bottom -->
 </div><!-- .container -->
</div><!-- #header -->
<div id="work">
 <div class="container">
  <div class="project">
   <div class="left">
    <h2>Royal Steel</h2>
    <p>Royal Steel Plastic Technology Industrial Co., Ltd., manufactures the dominant PET Plastic Recycling and Extrusion Equipment in the Industry. Since 1980, over 29 years experience in plastic recycling technology.</p>
    <ul>
     <li><a href="index.html">View site</a></a></li>
     <li><a href="index.html">Visit site</a></li>
    </ul>
   </div>
   <div class="right">
    <a href="images/project1.jpg" rel="lightbox"><img src="images/project1.jpg"/></a>
   </div>
  </div><!-- .project -->
  <div class="project">
   <div class="left">
    <h2>Best Language School</h2>
    <p>Best Language school in Taiwan by provides personal service that exceeds expectations and by helping our students to achieve personal excellence.</p>
    <ul>
     <li><a href="index.html">View site</a></a></li>
     <li><a href="index.html">Visit site</a></li>
    </ul>
   </div>
   <div class="right">
    <a href="#"><img src="images/project2.jpg"/></a>
   </div>
  </div><!-- .project -->
  <div class="project">
   <div class="left">
    <h2>Best Language School</h2>
    <p>Best Language school in Taiwan by provides personal service that exceeds expectations and by helping our students to achieve personal excellence.</p>
    <ul>
     <li><a href="index.html">View site</a></a></li>
     <li><a href="index.html">Visit site</a></li>
    </ul>
   </div>
   <div class="right">
    <a href="#"><img src="images/project3.jpg"/></a>
   </div>
  </div><!-- .project -->
  <div class="project">
   <div class="left">
    <h2>Best Language School</h2>
    <p>Best Language school in Taiwan by provides personal service that exceeds expectations and by helping our students to achieve personal excellence.</p>
    <ul>
     <li><a href="index.html">View site</a></a></li>
     <li><a href="index.html">Visit site</a></li>
    </ul>
   </div>
   <div class="right">
    <a href="#"><img src="images/project4.jpg"/></a>
   </div>
  </div><!-- .project -->
 </div><!-- .container -->
</div><!-- #work -->
<div id="footer">
 <div class="container">
  <div id="footer-top">
   <div id="contact">
    <h2>Get in Touch</h2>
    <p>Please use the following contact form to send me a message.</p>
    <form id="sendmail" method="post" action="http://www.emailmeform.com/fid.php?formid=254816">
     <label for="name"><strong>Your Name</strong></label>
     <input type="text"  id="name" name="FieldData0" />
     <label for="email"><strong>Your Email</strong></label>
     <input type="text"  id="email" name="FieldData1" />
     <label for="message"><strong>Your Message</strong></label>
     <textarea type="text" id="message" name="FieldData2"></textarea>
     <input id="button" type="submit" value="Send">
    </form>
   </div>
   <div id="tools">
    <h2>I use</h2>
    <ul>
     <li><a href="index.php">Vim</a></li>
     <li><a href="index.php">Firefox</a></li>
     <li><a href="index.php">Firebug</a></li>
     <li><a href="index.php">jQuery</a></li>
     <li><a href="index.php">Zymic</a></li>
     <li><a href="index.php">Email Me Form</a></li>
    </ul>
   </div>
   <div id="info">
    <h2>Contact Details</h2>
    <ul>
     <li><strong>Address:</strong> Kuo Kuang Rd., Taichung 402, Taiwan R.O.C.</li>
     <li><strong>Tel:</strong> 0918051170</li>
     <li><strong>Email:</strong> <a href="mailto:[email protected]">[email protected]</a></li>
    </ul>
   </div>
  </div><!-- #footer-top -->
  <div id="footer-bottom">
   <p>Copyright © 2009 New Project. All Rights Reserved.</p>
  </div>
 </div><!-- .container -->
</div><!-- #footer -->
</body>
</html>
21.02.2010

Ответы:


1

Ошибка говорит обо всем:

headers already sent (output started at ..../index.php:3)

Вы не можете отправлять заголовки после начала вывода тела. Это работает на вашем домашнем компьютере, потому что либо предупреждения подавляются, либо у вас другие настройки выходного буфера.

Использовать

<?php
include_once 'common.php';
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
21.02.2010

2

setcookie() будет записывать в заголовки ответов, что возможно только в том случае, если ответ еще не зафиксирован. Ответ будет зафиксирован, когда вы напишете что-то в тело ответа, и сервер отправит его клиенту. В этом случае тип документа записывается в ответ до вызова setcookie(). Вам нужно переместить включение в верхнюю часть страницы:

<?php
include_once 'common.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Что касается того, почему он работает на локальном хосте, это может зависеть от конфигурации сервера, будет ли ответ зафиксирован напрямую или буферизован в памяти. В localhost он, по-видимому, буферизован, поэтому остается место для изменения заголовков ответа даже после написания небольшого фрагмента тела ответа.

21.02.2010
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..