v2.0.4通过运行环境部署flarum环境变量添加redis配置启用redis扩展报500错误

v2.0.4通过运行环境部署flarum环境变量添加redis配置启用redis扩展报500错误
查询错误日志代码如下
[2025-07-08 04:56:01] flarum.ERROR: Predis\Connection\Resource\Exception\StreamInitException: Connection refused [tcp://127.0.0.1:6379] in /www/sites/xx.xx.xx/index/vendor/predis/predis/src/Connection/Resource/StreamFactory.php:237

看你的日志显示的是 127.0.0.1是不是环境变量没生效?

停止容器后重新添加环境变量还是同样的错误 2.0.2上没遇到这个问题

可以尝试新建一个 PHP 运行环境

原使用php8.3.20,新建php8.2.28运行环境,添加redis信息,还是同样的错误,依旧是识别到127.0.0.1:6379

容器中执行 printenv 看一下 REDIS_HOST 的值
如果没问题 那可能是代码问题
可以尝试直接修改 redis 链接处的代码 修改为 redis 的容器名称

redis的容器名称应该是一致的

不知道怎么办了,重装了一遍系统、面板,还是一样的错误

使用1.10.32版本进行一遍相同的部署,是成功的。v2版本之前仅在2.0.2版本成功部署过Flarum+配置Redis队列,面板升级2.0.3版本后,容器菜单中的php运行环境应用在面板升级后就自行重启了,重启后flarum就再也打不开了。同样在2.0.4版本上重新部署,flarum+配置Redis队列也无法正常运行。

以上实践,不知道是否是2.0.3及之后的版本的某个bug导致

你在 1.10.32 中是如何配置的 redis 连接呢?

同样是在容器的环境变量中直接填写配置

能否直接修改 PHP 代码中的 redis 连接部分呢?

尝试过,会报HTTP ERROR 500

php -m 对比一下扩展

1.10.32的php8.3.20


2.0.4的php8.3.20

相差 sodium 扩展

装上试试
另外
我们在 2.0.3 做了如下工作

  1. 修改部分文件夹权限为 1000:1000 对应容器内的 www-data:www-data 解决某些情况下的用户权限问题
  2. 修改 php-fpm.conf 文件
[global]
error_log = /var/log/php/fpm.error.log
log_level = notice
[www]
user = www-data
group = www-data
listen = 0.0.0.0:9000
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.status_path = /status
slowlog = /var/log/php/fpm.slow.log
request_slowlog_timeout = 3
catch_workers_output = yes

  1. 修改 php-fpm 启动的 supervisor 配置文件
[program:php-fpm]
command=php-fpm --nodaemonize
process_name=%(program_name)s_%(process_num)02d
user=root
numprocs=1
autostart=true
autorestart=true
startsecs=0
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0

主要是把 php-fpm 的启动命令改为 php-fpm --nodaemonize

Sodium 扩展未能成功安装上



我试了一下 我这边能装上

在php8.2.28可以成功安装Sodium,8.3.20未能成功,但安装Sodium扩展后,flarum依旧是报错