装完软件,安装目录里躺着一个 config 文件夹,点开全是 .ini、.json、.yaml。手欠改了一行,程序第二天起不来,只能翻备份。

config是什么意思,说白了就是配置,全称 configuration。它把程序运行时要用的参数从代码里拆出来:数据库地址、端口、日志级别、超时时间。改配置不用重新编译,换个环境换一份文件就行,这是它存在的理由。

常见文件名和格式

Windows 软件爱用 config.ini、settings.json;PHP 项目常见 config.php;ASP.NET 是 web.config;Java 项目多用 application.yml。Linux 下用户级配置常放在 ~/.config 目录,系统级在 /etc。看到 config 先看扩展名,再用对应工具打开,别拿记事本乱改二进制文件。

改了不生效的几个原因

程序可能读的是另一份配置,比如当前目录一份、用户目录一份,优先级还不一样。改完没重启服务,内存里还是旧值。格式错了更常见:JSON 多一个逗号、YAML 缩进用了 Tab、ini 少了等号,解析直接失败,日志里一般会写行号。

动之前先备份

复制一份 config.ini.bak,改坏了能立刻还原;只改自己看得懂的键,像 db.host、server.port 这种。带 password、secret、token 的字段别截图发群,也别提交到公开仓库。生产环境的配置和测试环境分开,别拿一套文件到处拷。

配置和代码分家的好处

同一份程序,开发、测试、生产用三套配置,靠环境变量或启动参数指定文件;这样打包一次就能到处部署,不用为了改个端口重新发版。团队里最好有份配置说明,写清每个键的含义、取值范围、默认值,新人接手少踩坑。有些软件把默认值写在程序里,config 文件只覆盖改过的项,删掉反而恢复默认。

看到 config,先把它当成「程序的设置清单」,而不是随便能改的文本。改之前备份、改之后重启、出错看日志,这三步能解决大部分问题。