我们知道PbootCMS是个非常好的免费可商用的一个基于PHP和MySQL开发的CMS系统。那么为了满足开发需求,需要对模型进行字段的管理,比如产品价格、参数等内容,假设我需要加500条数据呢?可能PbootCMS会出现报错了!

【问题所在】

PbootCMS在添加扩展字段时会自动为字段创建索引,当字段数量超过一定限制时就会触发MySQL的64键限制。
这个逻辑有问题:判断条件是 != 'TEXT' 或 != 'datetime',实际上几乎所有类型都会创建索引(包括varchar类型)。

【解决方案】

找到/apps/admin/controller/content目录下的ExtFieldController.php文件
在大约117行 // 字段不存在时创建,其中的添加索引部分,可以去掉。
// 只保留添加字段,不创建索引
$result = $this->model->amd("ALTER TABLE ay_content_ext ADD $name $mysql NULL COMMENT '$description'");
具体解决方案及代码修改
具体解决方案及代码修改

就这么简单的一套操作下来,你的网站管理后台可以不受到限制,还能再增加模型字段的扩展字段数据。


好了,本次分享仅作记录,也帮助后来者如果遇到相似问题提供一个解决思路。

评论

注:最多仅展示 35 条评论
Vind
Vind 2025-12-23 14:33:28

你好,我在你的网站上找不到RSS链接,试着发邮件被退信了。 想咨询一下你的RSS/feed地址是什么?我打算添加到我的聚合朋友圈中。

徐伟轩 徐伟轩 博主

哈,抱歉,我没有去做这个。

发表评论

提交后评论会经过自动审核,通过后公开展示。
本站不会记录你的 IP 地址,详见 隐私政策。