linux服务器supervisor守护进程无法启动yii queue队列的问题处理集锦

supervisor守护进程无法启动的原因有很多,常规出现的问题做一下整理,以备将来参考:

第一种情况:composer php版本不匹配的问题,如下代码提示:

Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.0.33. in /www/wwwroot/test/vendor/composer/platform_check.php on line 24

(仅限宝塔面板)解决方式如下:
修改宝塔面板内composer默认的PHP版本,使用如下命令操作:

  • 老宝塔面板的处理方式
rm -f /usr/bin/php

ln -sf /www/server/php/71/bin/php /usr/bin/php
  • 新宝塔面板的处理方式
    在网站列表的上面有个“PHP命令行版本”,勾选指定网站,选择你要使用的版本即可。还是比较人性化的。
    进入“网站”选项。在网站列表的上面有个“PHP命令行版本”,点击,选择你要使用的版本即可。

第二种情况:某些php的函数被禁用导致,如下代码提示:

PHP Warning ;yii\base\ErrorException with message  ;pcntl_signal() has been disabled for security reasons ;

in /www/wwwroot/test/vendor/yiisoft/yii2-queue/src/cli/SignalLoop.php:76

在宝塔面板中删除禁用函数即可,如下图所示:

提示什么函数,就删除掉什么函数,服务器的环境千人千面,要视情况而定。
本次调试的这台服务器删除禁用的函数有3个

pcntl_signal
pcntl_signal_dispatch
proc_open
发表评论 / Comment

用心评论~