WPLab

非 WordPress 网站搬家:静态网站与自写 PHP 网站

约 7 分钟 EP05 Website Migration
  • 不是每个网站都是 WordPress:纯 HTML 的公司简介、自己写的 PHP 网站(像这个 Aiden Memo 笔记站)、Laravel 之类的框架,都用不了 WordPress 搬家插件。
  • 好消息是这类网站通常更简单:静态网站只要搬文件;PHP 网站多数是「文件 + 可能有的数据库 + 设定文件」。
  • 最容易出问题的不是文件,而是环境差异:PHP 版本、扩展、.htaccess、文件路径大小写、写死的绝对路径。
  • 主机商的免费搬家服务对「非 CMS 网站」常常只搬 FTP 文件(例如 iCore 对非 cPanel 来源只搬 FTP 文件),所以自己最好懂一遍流程。

重点内容


先判断你的网站属于哪一种

类型特征要搬什么
静态网站只有 .html、.css、.js、图片只搬文件
简单 PHP 网站.php 文件,没有数据库文件 + 检查 PHP 版本
PHP + 数据库有 config.php / .env 里写着数据库资料文件 + 数据库 + 改设定
框架(Laravel 等)有 vendor/、composer.json、.env文件 + 数据库 + 可能要 SSH 跑 composer

第 1 步:下载全部文件

  • cPanel:File Manager → 右键 public_html → Compress → 下载
  • hPanel:Backups → Files backups → 下载(EP04)
  • 或用 FileZilla 整个文件夹拖下来(FILEZILLA/EP02)

📌 别漏掉隐藏文件:.htaccess、.env、.user.ini。File Manager 要开「显示隐藏文件」(cPanel:右上角 Settings → 勾 Show Hidden Files)。


第 2 步:有数据库的话导出数据库

  • phpMyAdmin → 选数据库 → Export → 格式 SQL → 下载
  • 找出网站的设定文件,记下它连哪个数据库:config.php、db.php、.env……

第 3 步:检查环境差异(最重要)

检查项目旧主机在哪看新主机在哪设
PHP 版本cPanel Select PHP Version / MultiPHP Manager同样位置,或 hPanel Advanced → PHP Configuration
PHP 扩展同上(mbstring、intl、gd、pdo_mysql……)同上,缺的要打开
.htaccess 规则文件本身Apache / LiteSpeed 通用;Nginx 主机不认 .htaccess
上传大小、memory_limitPHP 设定同上
Cron jobscPanel Cron Jobs新主机重新建

💡 在旧主机建一个 info.php,内容写 <?php phpinfo();,打开就能看到完整环境;看完马上删掉,这个文件会暴露服务器资料。


第 4 步:上传与导入

  1. 新主机 File Manager 上传压缩包 → Extract
  2. 新主机建数据库和用户 → phpMyAdmin Import
  3. 改设定文件里的数据库名、用户、密码、host

第 5 步:修写死的路径

自写 PHP 网站最常见的问题:

  • 绝对路径:/home/oldacc/public_html/includes/... → 新主机的账户名不同,路径就错了
    • ✅ 改用 __DIR__:require __DIR__ . '/includes/header.php';
  • 写死的网址:http://旧域名/... → 换域名或换成 https 时要改
  • 大小写:Windows 本机测试不分大小写,Linux 主机分大小写,Images/logo.png 和 images/logo.png 是两个不同文件

📌 这个笔记站本身就踩过大小写的坑:本地 Windows 两个只差大小写的文件夹会被合并,但 Linux 服务器会当成两个,结果上线 404。


第 6 步:测试

  • 用 hosts 文件预览(EP07),把每个页面、表单、登入功能都点一遍
  • 看新主机的 Error Log(cPanel Metrics → Errors;hPanel Advanced → 错误日志)找 PHP 报错

行动步骤

  1. 判断网站类型,列出要搬的东西
  2. 下载全部文件(含隐藏文件)和数据库
  3. 对照旧主机的 PHP 版本和扩展,在新主机设成一样
  4. 上传、导入、改设定文件
  5. 把绝对路径改成 __DIR__,检查文件名大小写
  6. 预览测试,看 error log,再切 DNS

常见误区

  • ❌ 漏掉 .htaccess 和 .env:隐藏文件没显示,没下载到,网址改写和设定全失效。
  • ❌ 没对齐 PHP 版本:旧主机 PHP 7.4 跑得好好的代码,新主机默认 PHP 8.x 可能直接报错。
  • ❌ 路径写死旧账户名:/home/oldacc/... 在新主机不存在。
  • ❌ 在 Windows 测过就以为没问题:Linux 主机分大小写,文件名不一致会 404。
  • ❌ 测完忘了删 info.php:暴露服务器版本和路径资料。

Sources

官方文档:

  1. How to Manually Transfer a Website - SiteGround KB
  2. How to migrate a website from cPanel to Hostinger - Hostinger Help Center
  3. FREE Hosting Migration Service - iCore Technology