当前位置: 首页 > news >正文

PHP 网站完整搬家教程(不报错、不断站)

PHP网站搬家的核心是「完整迁移文件+数据库」,关键在于「保持环境一致、配置对应、测试无误后切换DNS」,全程遵循“备份→迁移→配置→测试→切换”五步走,即可实现不报错、不断站,适配虚拟主机、VPS、云服务器等所有常见部署场景,兼顾新手实操与专业避坑。

 

搬家前的准备工作直接决定后续是否报错,需逐一核对,不可遗漏,核心是“备份+环境匹配”。

1. 完整备份(双重备份,防数据丢失)

备份是底线,需同时备份「网站文件」和「数据库」,建议本地+云端各存一份,避免迁移中文件损坏或丢失。
  • 网站文件备份:通过FTP工具(如FileZilla)连接原服务器,进入网站根目录(通常是public_html、wwwroot或网站域名对应的文件夹),选中所有文件(含隐藏文件,如.htaccess),下载到本地电脑;若文件较大,可在原服务器压缩为ZIP包后再下载,效率更高。注意:务必保留所有文件的原始目录结构,尤其是配置文件(如wp-config.php、config.php)和上传目录(如uploads),不可随意修改文件名或路径。
  • 数据库备份:PHP网站依赖数据库存储核心数据(用户、文章、配置等),备份方式分两种,按需选择:
    • 虚拟主机(cPanel/宝塔面板):登录面板,找到「phpMyAdmin」,选中网站对应的数据库,点击顶部「导出」,选择「快速」模式,默认格式为SQL,点击「执行」,下载备份文件(.sql格式)到本地,无需修改任何参数。
    • VPS/云服务器(Linux):通过SSH连接服务器,执行命令备份(需替换用户名、数据库名和备份文件名):mysqldump -u 用户名 -p 数据库名 > 备份文件名.sql,输入数据库密码后,即可生成备份文件,再通过FTP下载到本地;若需备份所有数据库,可使用命令:mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p
  • 备份校验:下载完成后,检查压缩包是否完整(无损坏、无遗漏文件),SQL备份文件可打开查看,确认有完整的CREATE TABLE和INSERT语句,避免备份失效。

2. 新服务器环境配置(关键,避免环境不兼容报错)

PHP网站报错80%源于新老服务器环境不匹配,需提前配置新服务器,确保与原服务器一致,核心配置如下:
  • PHP版本:新服务器PHP版本需与原服务器一致或兼容(如原服务器是PHP 7.4,新服务器可设为7.4或8.0,不建议跨版本(如5.6→8.2),避免代码不兼容);可在原服务器面板查看PHP版本,新服务器通过宝塔、cPanel等面板修改PHP版本,同时确保开启原服务器已启用的PHP扩展(如mysql、gd、curl、mbstring等),缺失扩展会导致网站无法正常运行。
  • 数据库配置:在新服务器创建与原服务器「同编码、同前缀」的数据库(如原数据库编码是utf8mb4,前缀是wp_,新数据库需完全一致);创建数据库用户,授予该用户「全部权限」,记录好数据库名、用户名、密码,后续需修改配置文件使用,避免权限不足导致数据库连接失败。
  • 服务器环境:保持Web服务器一致(原是Apache,新服务器也用Apache;原是Nginx,新服务器也用Nginx);若原服务器有伪静态规则(如.htaccess文件),提前在新服务器配置好,避免页面404报错;若使用宝塔面板,可直接导入原服务器的伪静态规则。

3. 其他准备(细节拉满,减少后续麻烦)

  • 记录原服务器核心配置:如网站根目录路径、数据库地址(通常是localhost)、端口(默认3306),避免后续配置出错。
  • 暂停网站更新:搬家期间,暂停网站的文章发布、评论提交、用户注册等操作,避免迁移过程中数据不一致(如迁移期间用户注册,新数据库未同步,导致用户丢失)。
  • 准备工具:FTP工具(FileZilla)、文本编辑器(Notepad++,用于修改配置文件)、数据库管理工具(phpMyAdmin或Navicat),确保工具可正常使用。
http://www.jsqmd.com/news/495614/

相关文章:

  • Python机器学习空间模拟与时间预测:生态水文实战;地表参数空间模拟(土地利用分类/降尺度)与水文过程时间预测(径流/地下水位)
  • python-flask的家庭成员亲子相册图片照片管理系统的设计与实现_django pycharm vue
  • Vue2项目中如何通过开源组件优化局域网医疗影像大附件的浏览器端分片校验?
  • Sinkhorn算法实战:用Python实现最优传输问题的快速求解(附完整代码)
  • GLM-OCR快速部署:一键启动服务,支持文本、表格、公式识别
  • 本科论文高效通关:Paperxie AI 初稿写作,从选题到定稿的一站式学术助手
  • DeepSeek-R1-Distill-Qwen-1.5B部署指南:vLLM启动详解,小白也能快速搞定
  • 企业私域如何运营:从流量焦虑到资产沉淀的实战路径
  • 初始Skills
  • 如何用LLM提升自动驾驶的感知能力?实战案例与最新工具推荐
  • 小白程序员必看:手把手教你搭建RAG-SQL Router智能问答系统(收藏版)
  • MEMC插帧技术全解析:从原理到手机屏幕的实战应用
  • Code Connect:革新性设计开发协同工具全链路指南
  • 好写作AI:本科毕业生如何用AI克服写作拖延症——从“明天开始”到“现在动手”
  • 为什么你的MLCC总失效?5个工程师常忽略的机械应力陷阱
  • 开源项目管理与团队协作工具Plane深度解析
  • Mac新手必看:20个隐藏快捷键让你的工作效率翻倍(附实用场景)
  • 低成本改造双电源电路:用单电源运放OPA836实现±5V供电的3种方法
  • 效率倍增:用快马平台一键克隆和运行开源项目,告别环境配置烦恼
  • IPv4 和 IPv6 归属地查询有差异?运维必看的高效查询技巧
  • 从想法到画面:SPIRAN ART SUMMONER如何助力你的视觉创意快速落地
  • UniDexGrasp++实战:5分钟搞定ICCV 2023最新抓取算法环境配置与测试
  • 电脑风扇调速丨 FanControl v2.6.1 开源温控工具
  • 华人一天7篇Nature论文
  • 把钉钉打碎,阿里炼出了「悟空」,给企业配了一支龙虾军团
  • Phi-3-vision-128k-instruct Java开发实战:SpringBoot集成与图像分析API构建
  • 面向下一代GPU VPD架构的供电系统超低压大电流测试方案—— 费思N系列电子负载技术解析与应用实践
  • Seata 2.0 在 Linux 上的保姆级部署教程(含 Nacos 配置避坑指南)
  • RISC-V开发入门:5分钟搞定riscv32-glibc工具链下载与配置(Ubuntu 20.04版)
  • 二叉树的右视图