Como verificar se uma sessão PHP já foi iniciada e evitar o erro "headers already sent"
Olá a todos! Sou novo em PHP e estou criando um pequeno site com autenticação. Tenho vários scripts que trabalham com sessões. Em um arquivo, eu inicio a sessão com session_start() e depois incluo outros arquivos via include. O problema é que, se eu chamar session_start() duas vezes acidentalmente em arquivos diferentes, o PHP exibe um erro:
Warning: session_start(): Cannot send session cookie - headers already sent
Eu entendo que esse erro ocorre porque os headers já foram enviados, e uma segunda chamada a session_start() não é possível. Mas como posso verificar se a sessão já foi iniciada para não chamar session_start() novamente? Tentei usar @ no início para suprimir o erro, mas entendi que isso é uma má prática.
Aqui está um exemplo do meu código:
// config.php
session_start();
$_SESSION['user'] = 'admin';
// page.php
include 'config.php';
session_start(); // Aqui exibe o erro se config.php já chamou session_start()
Preciso de algo como: if (session_not_started