1

これは何度も聞かれていることですが、ホスティング会社のサーバーで実行すると、私のコードはエラーなく正常に動作します。phpDesigner から実行した場合にのみ、このエラーが発生します。

PHP Warning: session_start(): Cannot send session cookie - headers already sent in C:\Development\PHP_Projects\BrothersNetLogger\index.php on line 3 PHP Stack trace: PHP 1. {main}() 

index.php は次のように始まります。

<?php
    ob_start();
    session_start();
?>

フォーラムで提案されたすべての修正を試しましたが、うまくいきませんでした。問題は phpDesigner に固有のもののようです。どんな提案でも大歓迎です。

4

1 に答える 1

0

ob_start — 出力バッファリングをオンにする

デフォルトで output_buffering が Off で、残念ながら 1 バイトのデータをクライアントに送り返した場合、HTTP ヘッダーは既に送信されています。これにより、session_start() が Cookie ヘッダーをクライアントに戻すことが効果的に防止されます。ob_start() を呼び出すと、バッファリングが有効になり、HTTP ヘッダーの送信が遅れます。おそらく、PHP の警告が表示されます: session_start(): セッション Cookie を送信できません - ヘッダーは既に送信されています..

だからあなたは試すことができます

<?php
    session_start();
    ob_start();

?>

?php
    ob_start();
    session_start();


?>

ここに便利なリンクがあります

于 2014-11-22T14:24:11.177 に答える