![仅为一个虚拟主机禁用 fpm](https://linux22.com/image/1194906/%E4%BB%85%E4%B8%BA%E4%B8%80%E4%B8%AA%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E7%A6%81%E7%94%A8%20fpm.png)
我的 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_event
为mpm_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