仅为一个虚拟主机禁用 fpm

仅为一个虚拟主机禁用 fpm

我的 Ubuntu 22.04 服务器上有三个 PHP 版本:7.4、8.1 和 8.2 我将整个系统设置为默认使用 8.1,并根据安装在其中的平台所需的版本在不同的虚拟主机中使用 7.4 和 8.1。我使用的设置是:

<FilesMatch "\.php$">
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>

<FilesMatch "\.php$">
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost"
</FilesMatch>

现在我需要php7.4在一个安装了 Prestashop 的虚拟主机上使用不带 fpm 的程序,而这在集成直销平台时会带来很多问题。

我在网上搜索了这个问题,但没能找到解决方案。看来如果我想在我的服务器上使用不同的 PHP 版本,我必须安装 fpm。

你能帮我么?

答案1

您可以将 Apache 的默认值从 更改mpm_eventmpm_prefork并启用php7.4。这样,您可以使用 Prestashop 网站的默认值,而所有其他网站仍然可以使用 PHP FPM。

从 Prestashop 网站的虚拟主机配置中删除此项:

<FilesMatch "\.php$">
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>

运行以下命令:

sudo apt install php7.4

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo a2enmod php7.4

sudo service apache2 restart

相关内容