我使用https://quic.nginx.org/readme.html中的步骤实现了 nginx-quic
该页面正在https://http3check.net和https://gf.dev/http3-test验证 http3 quic 。
页面元素在开发人员工具网络选项卡中显示 h3 协议。
在 test.php 页面中,我设置了 3 个这样的 php cookie:
<?php
$q=setcookie('test1', 'content1', time()+315360000, '/', '', true, true);
$q=setcookie('test2', 'content2', time()+315360000, '/', '', true, true);
$q=setcookie('test3', 'content3', time()+315360000, '/', '', true, true);
?>
在同一域和同一目录中的 test2.php 中,我尝试访问 cookie:
<?php
var_dump($_COOKIE);
?>
它只显示最后设置的 cookie:
array(1) { ["test3"]=> string(8) "content3" }
所有三个 cookie 都显示在开发人员工具中。
Javascript 能够读取所有三个 cookie:
<script>
var decodedCookie = decodeURIComponent(document.cookie);
console.log('c='+decodedCookie);
</script>
如果我使用 nginx http2,php 能够访问所有三个 cookie。
但是,如果我使用 nginx http3,php 只能访问最后一个 cookie。
我在 linux 服务器中使用 php81-php-fpm。