问:我刚把苹果CMS从Windows服务器搬到Linux宝塔面板,结果首页全乱码,数据库也没法登录,咋回事?
答: 百分之百是编码问题,Windows默认用GBK,Linux用UTF-8,你搬家时直接打包了旧数据库,但SQL文件里还带着GBK的“血统”,两步走:第一,把旧数据库导出为.sql文件,用Notepad++打开,把字符集改成utf8mb4后再导入新库;第二,检查新版苹果CMS的application/database.php配置文件,把charset改成utf8mb4,同时把整个网站文件里的header标签强制加一行<meta charset="utf-8">,别偷懒,全站替换旧编码。
问:我在老站用的是Nginx,新站是Apache,搬家后播放器一直转圈不出画面,后台播放器配置也保存不了。
答: 这不是播放器坏了,是跨平台后伪静态规则没搬干净,苹果CMS的播放器对接依赖rewrite规则,Apache的.htaccess和Nginx的nginx.conf写法不一样,你直接把老站的.htaccess丢到Linux下,Apache可能能跑,但伪静态参数(比如index.php/vod/play/id/xxx)会失效,正确做法:登录宝塔,找到新站点的配置文件,把苹果CMS官方给的Nginx伪静态规则整段贴进去,然后在后台“系统-URL重写”里把伪静态开关打开,再清一次缓存,播放器地址要重新在后台“视频接口”里把解析接口的API地址改成本地服务器IP或域名,别再用默认的localhost。
问:搬家后后台能进,但“视频”列表里所有影片的图片全是裂图,数据库里却有图片路径,怎么快速修复?
答: 这是典型跨平台路径问题,老站图片是绝对路径(比如/data/upload/admin/20230101.jpg),新站根目录变了,旧路径自然失效,别一张张改图,直接在后台“系统-附件设置”里,把“本地上传目录”改成新服务器的绝对路径(比如/www/wwwroot/你的域名/data/upload),然后把“访问URL前缀”改成新域名,如果数据库里有老域名残留,用SQL命令UPDATE mac_vod SET vod_pic = REPLACE(vod_pic, '旧域名', '新域名');一键替换,伪静态别开“图片防盗链”,否则连本地图都给你拦了。
苹果CMS搬家跨平台迁移避坑指南,从Windows到Linux,这些坑我帮你踩过了
问:后台“分类”里我加了十几个新分类,但前台首页只显示旧分类,新分类死活不出来。
答: 你八成是只改了数据库,没清理缓存,苹果CMS有两层缓存:第一层是数据缓存(runtime/cache),第二层是模板编译缓存(runtime/temp),后台“系统-缓存管理”里把“数据缓存”和“模板编译”都点一遍清空,如果还不行,直接FTP登录服务器,把runtime文件夹整个删掉(会自动重建),然后去后台“生成-更新缓存”再点一次,新分类如果绑定了模板,确认模板文件里用的是{$obj.vod_class}这类循环标签,而不是写死了旧分类ID。
问:搬家后网站打开速度奇慢,尤其是播放页要等5秒以上,数据库查询超时,怎么优化?
答: 跨平台最大杀手是数据库连接方式,旧环境可能是localhost直连,新环境用了0.0.1加端口,但你没改database.php里的host和port,先检查这个,然后关闭苹果CMS默认的“动态页面模式”,换成“静态模式”——后台“系统-URL重写”里选“静态模式”,生成-生成所有页面”,播放页卡顿多半是播放器解析接口加了远程请求,建议把“播放器配置”里所有外链接口换成本地缓存模式,并把并发播放数调到20以内,最后在宝塔里给PHP开启OPcache,Redis装一个,把苹果CMS的cache驱动改成Redis,速度能翻倍。
问:后台“安装应用中心”里一键安装模板总是失败,提示“目录不可写”,但权限我都给777了。
答: 别全给777,宝塔现在强制安全禁止递归777,正确做法:目录权限给755,文件给644,所有者必须是www(或nginx用户),然后在宝塔“文件管理器”里,右键application目录和template目录,选择“权限”,设成755,勾选“应用到子目录”,如果还不行,检查PHP禁用函数——宝塔默认禁用了putenv和proc_open,这会导致安装脚本无法执行,去PHP配置里解除这两个函数,重启PHP-FPM,安装模板时在后台“模板-模板管理”里先点“扫描模板”,强制刷新列表,再点安装。
问:搬家后后台“影片”里的“采集”功能失效,从资源站拉取数据提示“解析错误”,怎么破?
答: 跨平台后最容易被“卡”的就是采集接口,资源站大多要求提交的referer和user-agent必须合法,你新站没设置这些,就被对方服务器拒绝了,去后台“采集-自定义资源库”里,把每个资源站的“请求头”都填上:Referer: http://你的新域名/ 和 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64),同时检查防火墙——新服务器安全组可能没放行资源站的IP段,如果资源站是HTTP而新站是HTTPS,记得后台开启“启用CURL代理”并填上http://前缀。
问:后台“会员”功能打不开,注册页提示“数据库字段错误”,但老站没这问题。
答: 这是典型的数据库前缀不一致,搬家时你导入了老数据库,但新安装的苹果CMS可能自动用了不同前缀(老站是mac_,新站自动建了pre_),登录phpMyAdmin,查看mac_user表是否存在,如果不存在,说明你导入的SQL不完整,最快解决:先新建一个空白数据库,导入你备份的完整SQL,然后再改application/database.php里的prefix为老站的前缀,如果表存在但报“字段错误”,执行一条SQL:ALTER TABLE mac_user ADD COLUMN user_qq VARCHAR(50) DEFAULT NULL;——新版会员系统要额外加几个字段,老库没有,补齐即可。



发表评论