赞片CMSMBstring

liulian
liulian 正式会员超兽战士
发布于 2026-10-07 16:24 ·0 浏览 ·0 回复

学会这篇,你就能把赞片CMS 因为缺少 mbstring 扩展而报的错彻底解决——后台能正常打开、中文不乱码、采集和搜索功能恢复正常。

赞片CMS 是 PHP 写的影视建站程序,它的模板解析、中文截断、关键词搜索都依赖 PHP 的 mbstring 扩展。很多人装完程序打开首页是白屏,或者后台提示 Call to undefined function mb_strlen(),本质都是这个扩展没装或没启用。下面按顺序做一遍即可。

第一步:确认问题确实是 mbstring 缺失

这一步是判断病因,做完你能明确知道是「没装」还是「装了但没启用」。

先建立一个 phpinfo.php 放到网站根目录,内容只有一行:

<?php phpinfo(); ?>

浏览器访问 http://你的域名/phpinfo.php,按 Ctrl+F 搜 mbstring。

  • 完全搜不到:扩展没装,去做第二步。
  • 搜到但 mbstring support 显示 disabled:装了没启用,直接跳到第三步。
  • 只能命令行操作的话,用 php -m | grep mbstring,有输出表示已加载。

注意:phpinfo.php 用完必须删掉,否则会泄露服务器路径、PHP 版本等信息。

第二步:安装 mbstring 扩展

这一步把扩展文件装到 PHP 里,做完 php -m 里能出现 mbstring。按你的环境选一种方式。

宝塔面板(推荐新手)

登录宝塔面板 7.7.0 → 左侧菜单「软件商店」→ 顶部切到「已安装」→ 找到网站正在用的 PHP 版本(比如 PHP-7.4)→ 点右侧「设置」→ 弹窗里选「安装扩展」→ 在列表里找到 mbstring → 点「安装」→ 等进度条走完变成「卸载」字样即成功。

apt 系(Ubuntu / Debian)

sudo apt update
sudo apt install -y php7.4-mbstring

把 7.4 换成 php -v 查到的实际版本,比如 PHP 8.1 就是 php8.1-mbstring。

yum 系(CentOS / AlmaLinux,用 Remi 源)

sudo yum install -y php74-php-mbstring
sudo systemctl restart php74-php-fpm

注意:宝塔面板里同一个服务器常有多个 PHP 版本,扩展必须装在「网站绑定」的那个版本上。装在 PHP 8.0 上而网站跑在 PHP 7.4,照样报错。

第三步:在 php.ini 中启用扩展

这一步确保扩展被真正加载,做完 phpinfo 里 mbstring 会显示 enabled。

找到当前生效的 php.ini。最稳的办法是在 phpinfo() 页面搜 Loaded Configuration File,那行路径就是真身,比如 /www/server/php/74/etc/php.ini。

用编辑器打开,搜索 extension=mbstring:

  • 找到被注释的 ;extension=mbstring,把前面的分号删掉。
  • 整行都没有,就在 [Extension] 段落后手动加一行 extension=mbstring.so(Windows 下写 extension=php_mbstring.dll)。

同时在文件里确认这两项没被乱改:

mbstring.func_overload = 0
mbstring.internal_encoding = UTF-8

注意:mbstring.func_overload 在 PHP 7.2 起已废弃、PHP 8.0 起彻底移除。如果你的 PHP 是 8.x,配置文件里不要再写这一行,否则 PHP 启动会直接报错。

第四步:重启 PHP 并验证

这一步让配置生效,做完网页就不再白屏。

重启的是 PHP-FPM,不是 Nginx:

# 宝塔
/etc/init.d/php-fpm-74 restart


sudo systemctl restart php-fpm
sudo systemctl restart php7.4-fpm

重启后重新打开 phpinfo.php,mbstring 区块应该完整显示,mbstring support 为 enabled。然后访问赞片CMS 首页和后台 /admin.php,白屏和 undefined function 报错都应该消失。

如果后台仍提示缺少扩展,去赞片CMS 安装目录里的 runtime 文件夹清空缓存,再刷新一次。

注意:重启后如果网站直接 502,多半是 php.ini 写错了行(比如 PHP 8 上留了 func_overload)。先看 /www/server/php/74/var/log/php-fpm.log 的最后 20 行,错误原因会写得很清楚。

小结

  • 赞片CMS 白屏、undefined function mb_strlen(),九成是 mbstring 没装或没启用。
  • 先看 phpinfo 判断「没装」还是「没启用」,再决定装扩展还是改 php.ini。
  • 宝塔面板路径:软件商店 → 已安装 → 对应 PHP 版本 → 设置 → 安装扩展 → mbstring。
  • 命令行:apt install php7.4-mbstring 或 yum install php74-php-mbstring,版本号必须对齐。
  • 改完 php.ini 要重启 PHP-FPM,不是 Nginx;PHP 8 上不要写 mbstring.func_overload。
  • phpinfo.php 调试完立刻删除。
版权声明:本文来自 GJ站长论坛《赞片CMSMBstring》
原文链接:https://www.gj0.com/thread-403.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~