1

次のエラーが発生していますが、session_start 関数の前に何も出力されていません。

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /xyz_path/index.php:1) in /xyz_path/index.php on line 2

コードは次のとおりです。

<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>Application Jersey</title>

このコードも試してみましたが、エラーは同じですが、セッションIDが利用可能です:

<?php
if(!session_start()){
    session_start();
}
echo session_id();
?>
4

4 に答える 4

2

エラーは、2 行目で発生したことを示しています。

  • 上部に空の行がある、または
  • 目に見えない文字が送信されました

2 番目の場合は、コード エディターでファイルのエンコードを、名前に BOM が含まれていないものに変更してください。

一部のエディターは、UTF(8, 16) でエンコードされたファイルの先頭に BOM バイトを追加します。

于 2013-06-17T08:15:39.530 に答える
0

このコードを試してください:

<?php 
ob_start(); // add this line
session_start(); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>Application Jersey</title>

これは私にとってはうまくいきます。

于 2013-06-17T08:10:33.480 に答える