8号码库
8号码库

暂无菜单项

首页/社区/广场/建站问答/
打开 MD 链接

PHP源码上线前我一定会过一遍的清单,能省下大半夜的救火

低调运维
发布于 1周前更新于 4天前
4

做了几年运维,我最怕的不是难的问题,是那种「本地跑得好好的,一上线就出问题」的场面。这种大多是环境差异造成的,而且往往发生在半夜。

所以我现在有一套固定清单,每次部署 PHP 源码都过一遍,前后不到二十分钟,能挡掉八成事故。

一、环境层

  1. PHP 版本是否和源码要求一致(看说明文档或 composer.json)
  2. 必需扩展是否齐全:fileinfo、gd、curl、zip、openssl、mbstring
  3. MySQL 版本是否匹配,sql_mode 有没有开严格模式(老源码经常被它坑)
  4. PHP 的 upload_max_filesize、post_max_size、max_execution_time 是否够用
# 一条命令快速看环境
php -v && php -m | grep -E "fileinfo|gd|curl|zip|openssl|mbstring"

二、Web 层

  1. 伪静态规则已配置
  2. 运行目录指向正确的 public 子目录
  3. HTTPS 证书已部署,且 HTTP 能 301 跳 HTTPS
  4. 默认入口文件(比如 install.php)已删除,后台路径已改

最后一条特别重要。忘了删安装目录,等于把站点白送人,这种事每年都能看到几起。

三、数据层

  1. 数据库账号使用最小权限,不要拿 root 跑业务
  2. 表前缀和配置文件一致
  3. 确认导入完整——比对关键表的行数,别只看导入成功提示
  4. 配置好自动备份(我一般设每天凌晨一次,保留 7 份)

四、可观测层

  1. PHP 错误日志目录固定下来,且确认有写权限
  2. 生产环境关掉 display_errors,但一定要开着 log_errors
  3. 站点加了监控,掉线能收到通知

五、回滚预案

这条我最看重。上线前先确认两件事:老版本的文件和数据库各有一份完整快照,并且我知道怎么在五分钟内切回去。

如果这两条答不上来,我建议推迟上线。真的。

# 上线前打快照
tar -czf /www/backup/site_$(date +%F).tar.gz /www/wwwroot/你的站点
mysqldump -u用户名 -p 数据库名 > /www/backup/db_$(date +%F).sql

最后一点

清单的意义不是让你变得很慢,而是把「靠记忆」换成「照单子打勾」。人总有状态不好的时候,凌晨三点尤其。有单子在手,失误率会低一个数量级。

#宝塔面板
0 / 600
细中粗
0 讨论
热门最新
总结
暂无总结
热门帖子
  • 8号码库社区版规与发帖指引(新人必读)

    8
    置顶
    8/27326 浏览
  • 半夜两点还在调源码,我劝你这几个瞬间别硬刚

    3
    9/13531 浏览
  • WordPress 源码手动安装与性能优化全流程

    6
    9/34.7K 浏览
  • 宝塔面板从零部署网站源码:LNMP 环境一键搭建全流程

    5
    9/3510 浏览
  • 前端项目源码构建与部署:Vue/React + Nginx 静态托管与 SSR

    3
    9/3375 浏览
  • Docker 容器化源码部署:Dockerfile 与 Compose 编排实战

    5
    9/3773 浏览
  • Node.js 项目源码部署实战:PM2 进程守护 + Nginx 反向代理

    3
    9/3597 浏览
  • 从源码部署 Java Spring Boot:打包 Jar 包 + systemd 守护

    3
    9/3635 浏览
  • 半小时上线个人博客/知识库:通用部署流程(附流程图)

    2
    8/252.4K 浏览
  • 自己搭轻量网盘:Cloudreve 开箱即用(附架构图)

    5
    8/28463 浏览
8号码库
8号码库
首页
源码下载
交流社区
网址导航
版权所有 8号码库
隐私政策常见问题联系我们
捐赠❤️