Xiuno提示错误Fatal error: Cannot redeclare post_find_by_uid() (previously declared in .../tmp/model_post
-
这个报错本质很简单:同一个函数被定义了两次,PHP 直接崩了。
你看到的错误:
Cannot redeclare post_find_by_uid()
说明函数
post_find_by_uid()在同一个文件里被重复声明了。一、问题出现的常见原因(Xiuno 特别容易踩)
在 Xiuno BBS 里,这种错误通常不是你手写重复函数,而是:
1️⃣ 插件冲突(最常见)
多个插件同时“扩展/重写”了
post_find_by_uid()
👉 编译后被合并进:/tmp/model_post.func.php
结果:函数被拼了两份
2️⃣ 插件写法不规范
有插件没有用:
PHPif(!function_exists('post_find_by_uid')) {
function post_find_by_uid(...) {
...
}
}👉 导致重复定义直接报错
3️⃣ tmp缓存没清干净
Xiuno 会把 hook 编译到
/tmp/目录
有时候你:卸载插件
修改代码
但 tmp 还在用旧缓存
二、最快解决办法(建议按顺序来)
✅ 方法1:清空 tmp 缓存(优先做)
删除目录:
/www/wwwroot/wwwhostbbscom/tmp/*
👉 然后刷新页面
✅ 方法2:关闭最近安装的插件
如果你刚装了插件,直接:
进入后台 → 插件
逐个关闭(尤其是涉及“帖子/用户”的插件)
✅ 方法3:定位冲突插件(精准排查)
打开报错文件:
/tmp/model_post.func.php
搜索:
function post_find_by_uid
如果看到两段类似:
PHPfunction post_find_by_uid(...) { ... }
...
function post_find_by_uid(...) { ... }👉 往上看注释,Xiuno 会标明来源插件,例如:
PHP// hook plugin_xxx
👉 就能知道是哪两个插件冲突
✅ 方法4:手动修复(临时)
如果你急着恢复网站,可以改成:
PHPif(!function_exists('post_find_by_uid')) {
function post_find_by_uid(...) {
...
}
}⚠️ 但这只是临时止血,根因还是插件冲突
推荐阅读
- 上一篇: linux系统如何限制指定IP和指定用户才能登陆ssh
- 下一篇: xiuno插件修改为未安装状态
文章标签:
版权声明: 本文除特别说明外均由 麒麟在线 原创
本文链接: https://www.70ol.com/jishu/359.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!
分享本文: 请填写您的分享代码。
呃 本文暂时没人评论 来添加一个吧
发表评论