Gọi session_start() nhiều lần gây lỗi. Cách kiểm tra trước khi khởi động:
PHP < 5.4.0
<?php
if (session_id() === '') {
session_start();
}
?>
session_id() trả về chuỗi rỗng nếu chưa có session.
PHP ≥ 5.4.0 (Khuyên dùng)
Dùng session_status() trả về hằng số:
PHP_SESSION_DISABLED(0): Session bị tắt.PHP_SESSION_NONE(1): Session bật nhưng chưa start.PHP_SESSION_ACTIVE(2): Session đang hoạt động.
<?php
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
?>