现象
在 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 2042. 又发现: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.iniecho "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 了,没有报错了~
默认评论
Halo系统提供的评论