将 prefork 更改为 worker 的问题

problems changing prefork to worker

Apache/2.4.25, PHP 7.3.17 您好 我想从 prefork 更改为 worker,我按照以下步骤操作:

a2dismod php7.3
systemctl restart apache2
a2dismod mpm_prefork
a2enmod mpm_worker
systemctl restart apache2
a2enmod php7.3

在上面的最后一步之后我得到了错误:

Considering dependency mpm_prefork for php7.3:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
ERROR: Module mpm_worker is enabled - cannot proceed due to conflicts. It needs to be disabled first!
ERROR: Could not enable dependency mpm_prefork for php7.3, aborting

我该怎么做才能让工作人员工作?

如果您想使用 mpm_event 或 mpm_worker,php7.3 即 apache 的 php 模块将不起作用。

您必须安装替代方案,例如 PHP-FPM。确保你有至少 2 GB 的内存用于 PHP-FPM

要安装 PHP-FPM,请执行以下操作:

a2dismod php7.3
a2dismod mpm_prefork
a2enmod mpm_worker
systemctl restart apache2
apt install php-fpm -y
a2enmod proxy_fcgi setenvif
a2enconf php7.3-fpm
systemctl start php7.3-fpm
systemctl restart apache2

https://www.php.net/manual/en/faq.installation.php#faq.installation.apache2

PHP-FPM 实际上为您提供了比 PHP 模块更好的性能。