将 HTTP/2 与 PHP SQLSRV 扩展一起使用?

将 HTTP/2 与 PHP SQLSRV 扩展一起使用?

我有一个网站(Apache/2.4.46,HTTPS),使用 PHP7.3、MariaDb 10.4、Linux 的 MSSQL(mcr.microsoft.com/mssql/server:2019-latest),在 Debian 10 服务器上运行。

我的设置使用 HTTP/1.1 运行良好。不过,我想尝试 HTTP/2,看看能否加快网站速度。

这根本不起作用,网站只是停止响应。经过一番研究,我想我至少找到了问题的一部分:Apache2 + HTTP/1.1 配置是标准的,a2enmod php7.3并且a2enmod mpm_prefork
更改为 HTTP/2 需要禁用php7.3, mpm_prefork并切换到mpm_event。HTTP/2 在我的虚拟主机部分中启用:Protocols h2 http/1.1

此更改会停止所有 PHP SQLSRV 扩展的运行,且不会出现任何错误消息。使用 Google Chrome 开发者工具查看无响应的站点会发现 HTTP/2 确实已启用且正在运行,但第一次sqlsrv_connect()调用后所有输出都会停止。

重新启用 php7.3 和 mpm_prefork(即恢复到 HTTP/1.1)可恢复所有功能。尝试a2enconf php7.3-fpmHTTP/2 模式无济于事。

我的问题是是否有办法在 Linux 上将 HTTP/2 和 Apache 与 PHP SQLSRV 扩展一起使用?

相关内容