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 的容器名称
不知道怎么办了,重装了一遍系统、面板,还是一样的错误
使用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 对比一下扩展
装上试试
另外
我们在 2.0.3 做了如下工作
- 修改部分文件夹权限为 1000:1000 对应容器内的 www-data:www-data 解决某些情况下的用户权限问题
- 修改 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
- 修改 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