赞片CMSMBstring
学会这篇,你就能把赞片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调试完立刻删除。
原文链接:https://www.gj0.com/thread-403.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。