Merhaba,
Arkadaş soruna yanıt vermemiş ama. Bende uzun süredir bu sorunu yaşıyorum. Sizin ilettiğiniz şekilde session_start öncesine kodu yerleştirmek sureti ile aşmaya çalıştım ama sonuç ede edemedim. Acaba session_start() gibi her sayfada gözükecek şekilde mi bu kodu yazmak gerekiyor? Örneğin ben kredi kartı ödemesi geri dönüş callback alanında bu sorunu yaşıyorum. Sistem callback sırasında tüm session değerlerini unutmuş oluyor. Sadece callback sayfasının header alanında mı olmalı? Yada çalışmama sebebi ne olabilir?
Chrome tarayıcısının 80. versiyonu ile birlikte cookie konusunda bir takım değişikliklere gidilmiş durumda, yavaş yavaş diğer tarayıcılar da bu değişikliklere uyum sağlıyor. N11 tarafı bahsetmiş olduğunuz callback sırasında çerezlerin silinme durumunu çerezleri "SameSite=None;Secure" olarak işaretleyerek çözmüş.
session_start'ın çağırıldığı her yerde öncesinde bu parametreleri eklemiş olmanız gerekiyor. Eğer tek bir yerden session_start fonksiyonunu çağırıyorsanız -ki bence en sağlıklısı bu şekilde olacaktır- zaten öncesine eklemeniz doğru ayarları yaptığınız anlamına geliyor. Tarayıcı konsolunda çerezlerinizin durumunu görüntüleyebiliyorsunuz.
Eğer ingilizceniz var ise SameSite ile ilgili detaylı bilgileri
https://web.dev/samesite-cookie-recipes/ üzerinden okuyabilirsiniz.