在Ubuntu 23.04系统中,使用Apache/2.4.55和php 8.1.12来实现与HTTP/2的兼容

首先要理解的是,Ubuntu的Apache默认配置中的“prefork”MPM(多进程模块)不支持HTTP/2。
路径:/etc/apache2/mods-enabled/mpm_prefork.load

因此,您需要不仅简单地配置HTTP/2,还需要将”prefork” MPM模块切换到另一个模块。

以下是全部步骤。

安装适用于FPM版本的PHP。

由于默认的PHP依赖于prefork模块,我们将切换到FPM版本的PHP。

sudo apt install php8.1-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo a2dismod php8.1
sudo service apache2 restart

将prefork模块切换到event模块。

切换prefork模块为event模块。

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo service apache2 restart
sudo service php8.1-fpm restart

设置HTTP/2

将以下内容添加到/etc/apache2/apache2.conf文件中。

Protocols h2 h2c http/1.1

将 http2 模块打开

打开http2模块。

sudo a2enmod http2
sudo service apache2 restart

以上。您辛苦了。