Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Il n'y a rien à faire de spécial, par défaut bientôt les navigateurs le considéreront automatiquement "SameSite=Lax" s'il n'est pas spécifié, ce qui est suffisant si le cookie n'est pas partagé sur d'autres sites.
Je dois générer des sessions, avec un cookie de session.
Suis-je obligé de lancer session_start() pour celà, ou comment simuler autrement une session ( par exemple en créant un cookie de session ) , sachant que les $_SESSION devraient ne pas varier à chaque changement de page ?
Sous PHP 7.0 ( Debian 9 ), je peux utiliser les headers pour les cookies, donc mettre le SameSite à 'None'.
Le paramètre $options de set_cookies_params($options) n'existe pas sous PHP < 7.3.
Je ne sais pas, personnellement je n'ai jamais utilisé cette fonction, car setcookie() permet de tout mettre quand je crée un cookie, par exemple : setcookie('cookie-name', '1', 0, '/; samesite=strict', '', true, true);
Et je rappelle que lorsque samesite n'est pas précisé, il sera (plus tard), considéré comme strict par défaut, donc il n'y a pas à s'en préoccuper en fait.
Si PHPSESSID vous préoccupe malgré tout, le plus simple est encore de passer à PHP >=7.3 pour que la fonction de paramètres fonctionne avec $options.
Le cookie de session c'est le PHPSESSID dont je parlais, c'est ainsi que le nomme PHP.
Franchement, passer à une version plus récente de PHP est le mieux à faire, d'autant que chaque version améliore les performances, etc.
Sinon si votre site est sur un serveur dédié (je crois que c'est le cas ?), vous pouvez ajouter dans la conf d'Apache Header always edit Set-Cookie (.*) "$1; SameSite=Strict"
Cela dit il est sûrement possible d'écraser le cookie comme vous dites (PHPSESSID donc), vous pouvez essayer et voir le résultat...