session_start()が二重に呼び出されるケースの対策

ページをいくつかに分割(menu/header/main/footer等)し、それぞれを読み込んで利用している際、session_start()が二重に呼び出されて警告が出る時の対策の覚書き。

session_status() を使うと、現在のセッションの状態を取得できるので、セッションが存在するかどうかを確認すればよい。

if (session_status() == PHP_SESSION_NONE) {
    session_start();
    header('Expires: -1');
    header('Cache-Control:');
    header('Pragma:');
}