麻昌生
2026-09-18
点 赞
0
热 度
13
评 论
0

Flarum 发帖报“糟糕,出错啦!”但帖子实际已发送问题解决

  1. 首页
  2. 分享
  3. Flarum 发帖报“糟糕,出错啦!”但帖子实际已发送问题解决

现象

在 Flarum 论坛发帖时,前端弹出:糟糕,出错啦!请刷新页面重试。但刷新页面后,帖子其实已经发布成功。Nginx 访问日志显示:POST /api/discussions 返回 500,问题从 Flarum 安装开始就有这个问题。

排查过程

1. 初步怀疑:storage 权限不足

Nginx 错误日志反复出现:

PHP Warning: file_put_contents(
  /www/sites/likeweixue.com/index/storage/cache/ee/2f/ee2f842aa7bb1f53edf3a2ed2c09a1807ffa6c90
): Failed to open stream: Permission denied
in .../vendor/illuminate/filesystem/Filesystem.php on line 204

2. 又发现:PHP 内存不足

错误日志里还有:

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
in .../league/mime-type-detection/src/FinfoMimeTypeDetector.php on line 76

把 PHP 内存限制从 128M 调到 256M。

sed -i 's/^memory_limit.*/memory_limit = 256M/' /usr/local/etc/php/php.ini
grep memory_limit /usr/local/etc/php/php.ini
echo "memory_limit = 256M" >> /usr/local/etc/php/php.ini #这一步的意思是把内存改成 256M

容器里验证:

memory_limit => 256M => 256M #如果显示256M就说明ok了~

但是但发帖仍然报错,就是出现“糟糕,出错啦!”这种……

问题原因;flarum-realtime 调用 Pusher 超时

在 storage/logs/flarum-2026-09-18.log 里找到真正的 ERROR 行:

[2026-09-18T12:12:23.584482+00:00] flarum.ERROR:
GuzzleHttp\Exception\ConnectException:
cURL error 28: Connection timed out after 3001 milliseconds
for https://likeweixue.com:6001/apps/1/channels?...

调用栈指向:

vendor/pusher/pusher-php-server/src/Pusher.php(724)
vendor/flarum/realtime/src/Push/Jobs/Job.php(42)
vendor/flarum/realtime/src/Push/Jobs/SendTriggerJob.php(41)
vendor/flarum/realtime/src/Push/EventSubscriber.php(74)

所以是这种情况;

1,发帖时触发 started 事件;

2,flarum-realtime 扩展监听该事件,去调 Pusher API 推送消息;

3,配置里 Pusher 地址指向自建的 https://likeweixue.com:6001;

4,这个地址连不上,3 秒超时;

5,Flarum 队列驱动是 sync(同步队列),异常直接冒泡到发帖请求;

6,接口返回 500,前端显示“糟糕,出错啦”;

7,但数据库写入在推送之前已完成,所以刷新能看到帖子。

解决办法

ps;本教程适合 1panel,也就是 Docker 部署的小伙伴,宝塔也差不多~

核心操作:禁用 flarum-realtime

点击 1panel 面板的容器,找到部署 Flarum 的 php 版本,比如我的是 php8.5,点击终端,点击链接,输入下面内容


cd /www/sites/likeweixue.com/index #进入的网站的目录,把likeweixue.com换成你网站域名即可
php flarum extension:disable flarum-realtime
php flarum cache:clear
#说明,

然后清理旧日志,方便验证(比如还是发帖显示错误,可以方便找到最近日志)

cd /www/sites/likeweixue.com/index/storage/logs  #进入的网站的目录,把likeweixue.com换成你网站域名即可
mv flarum-2026-09-18.log flarum-2026-09-18.log.bak

弄完之后出现发帖,我测试我的网站是 ok 了,没有报错了~


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

麻昌生

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

展开侧栏

欢迎来到你麻哥的日记网站

217 文章数
8 分类数
3 评论数
99标签数