海洋 CMS 搬家之后网站打不开怎么处理

juming
juming 初级会员超兽战士
发布于 2026-10-08 18:59 ·1 浏览 ·0 回复

海洋CMS(MacCMS,一套基于 PHP + MySQL 的影视类内容管理系统)搬家之后网站打不开,问题基本只出在四个地方:**数据库连接配置没改、运行目录与伪静态没配、目录权限或 PHP 版本不匹配、站点域名被写死在缓存和数据库里**。按下面的顺序排查,不需要重装网站就能恢复。

搬家后白屏或 500,第一步应该看什么?

结论:先拿到具体报错,再动手改文件,否则就是盲猜。

打开浏览器 F12 看返回状态码。如果是 500,去服务器看两个日志:Nginx 的 error_log(宝塔面板在 /www/wwwlogs/)和 PHP 的错误日志(php-fpm 慢日志或站点日志)。如果是白屏、页面一片空白但状态码 200,说明代码执行到一半就致命错误了,此时在 index.php 顶部临时加上:

ini_set('display_errors', 1);
error_reporting(E_ALL);

刷新一次就能看到真实报错行。定位完记得把这两行删掉,线上开着会泄露路径信息。

海洋CMS搬家后数据库连不上,配置在哪个文件?

结论:海洋CMS V10(ThinkPHP 5.1 内核)的数据库配置在 application/database.php;V9 及更早的版本在 data/config.php。搬家后要改的就是这个文件。

用编辑器打开,重点核对五项:hostname(本地数据库填 127.0.0.1 或 localhost)、database(新服务器上的库名)、username、password、prefix(表前缀,老站是 mac_ 就必须填 mac_,不能想当然)。

改完访问一次首页,如果报 SQLSTATE[HY000] [1045] Access denied,就是账号密码错;报 Unknown database,是库名错或数据库没导入。注意不要把旧服务器的 IP 写进去,很多搬家事故就是这一步没改。

首页能打开,栏目页和详情页全是 404,是哪里出问题?

结论:两个点——网站运行目录必须指向 public,伪静态规则必须重新配。

海洋CMS V10 的入口文件在 public/index.php。在宝塔面板「网站 - 设置 - 网站目录」里,把运行目录改成 /public 并保存。如果还保留旧站的 .htaccess 而新服务器是 Nginx,Apache 规则完全无效,需要在站点配置里加:

location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=$1 last;
    }
}

保存后重载 Nginx。这一步做完,/vod/type/id/1.html 这类伪静态地址才能正常解析。

页面能开但跳回旧域名、样式丢失,怎么解决?

结论:清理 runtime 缓存,并替换数据库里写死的旧域名。

先删除 runtime/ 目录下的 cache、temp、log 三个子目录内容(保留目录本身),海洋CMS 会在下次访问时重建。然后进后台「系统 - 网站参数设置」,把网站域名改成新域名。

如果后台本身都进不去,直接改数据库。海洋CMS 默认表前缀为 mac_,执行:

UPDATE mac_system SET value = REPLACE(value, '旧域名.com', '新域名.com');

执行前先备份一次数据库。影视站里域名常被写进播放器配置、采集配置、广告位,全表替换能一次性解决。

目录权限和 PHP 版本要注意什么?

结论:runtime、data、upload 三个目录必须可写,PHP 版本必须锁在 7.0–7.4。

Linux 下把网站目录属主改成 Web 用户(宝塔是 www),可写目录权限设 777,其余目录 755:

chown -R www:www /www/wwwroot/你的站点
chmod -R 755 /www/wwwroot/你的站点
chmod -R 777 /www/wwwroot/你的站点/runtime

PHP 版本必须注意:海洋CMS V10 基于 ThinkPHP 5.1,在 PHP 8.x 下会因为 each() 函数被移除等原因直接报致命错误。把站点 PHP 版本切回 7.2 或 7.4。

还有一个容易漏的坑:用宝塔或 LNMP 迁移过来的站点,根目录会残留 .user.ini,里面的 open_basedir 还写着旧路径,会导致跨目录访问被拒、页面 500。删掉这个文件或把路径改成新目录即可。

搬家自查清单

按顺序走一遍:数据库配置文件改对 → 运行目录指向 public → 伪静态规则重配 → 删 .user.ini → 清 runtime 缓存 → 替换旧域名 → PHP 版本切 7.4 → 目录权限设好。八步做完,海洋CMS 搬家后打不开的问题基本都能解决。最后提醒一句:动手前先备份数据库和整个站点目录,改错了能立刻回滚。

版权声明:本文来自 GJ站长论坛《海洋 CMS 搬家之后网站打不开怎么处理》
原文链接:https://www.gj0.com/thread-1113.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~