PHP7 FPM 拒绝启动

PHP7 FPM 拒绝启动

我在使用 PHP 7 FPM 的 Ubuntu 16.04 服务器上不断收到错误

ERROR: fork() failed: Resource temporarily unavailable (11)

这导致我的网站无法正常运行,并出现 502 错误。

注意:我正在使用 php7 的 ondrej repo,并安装了以下模块(如果有帮助的话......)

php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-json php7.0-sqlite3 php7.0-opcache php-memcached php-pear

并利用 nGinx

我怎样才能解决这个问题?

答案1

为了解决我的问题,我需要从我的服务器中清除 php7,删除 ondrej 存储库,并从 Ubuntu 存储库安装所有内容。

我的步骤:

apt-get --purge remove php7*
rm -f /etc/apt/sources.list.d/ondrej*
apt-get update && apt-get -y upgrade #just for safeties sake
apt-get -y install php7.0-fpm php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-json php7.0-sqlite3 php7.0-opcache php-memcached php-pear

现在一切都好了。

答案2

我遇到了同样的问题,PHP-FPM 似乎“卡”在 500 个子进程左右,并且由于错误“资源暂时不可用”而无法分叉更多子进程。

根据 Oli 的上述评论,我调查了https://unix.stackexchange.com/a/274830/880

这是我的修复方法,与 systemd 设置的默认任务限制有关(在我的情况下是 512)。我运行了“systemctl edit php-fpm”,添加了以下几行:

[Service]
TasksMax=infinity

然后就跑systemctl daemon-reloadsystemctl restart php-fpm

相关内容