気になって調べたのですが、公式マニュアルには
クッキーに基づくセッションを使用している場合、ブラウザに何か出力を行う前に session_start() をコールする必要があります。
とだけ書いてあり、理由が書いてありませんでした。
そこでもう少し調べたところsession_start()も「すべての実際の出力の前にコールする必要」がある!Add Starというページで
つまり、header()関数同様、すべての実際の出力の前にコールする必要があるわけです。
cookieの送出方法を考えて見れば当たり前ですね。
と書いてあり「cookieの送出方法」というものが関係しているのだとわかりましたが、ここから先に進めません。
なぜsession_startより前に何も出力があってはいけないのか、ご存知の方教えてください。
よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。