必须修改的三个核心配置文件是config/app.php、config/database.php和根目录下的.env文件,其中.env优先级最高,用于覆盖敏感信息与环境差异化设置。

ThinkPHP搭建项目时,真正需要修改的文件不多,关键在找准位置、理清优先级。核心配置集中在 config/ 目录和 .env 文件,而不是到处改代码。
必须修改的配置文件
以下三个文件是新项目启动前最常调整的:
-
config/app.php:控制应用行为。重点设
'app_debug' => true(开发阶段开启调试)、'timezone' => 'Asia/Shanghai'、'default_lang' => 'zh-cn';若用子域名或二级目录部署,还要配'app_host'和'url_common' => false等。 -
config/database.php:数据库连接参数。填入
'hostname'、'database'、'username'、'password'即可运行。但敏感信息建议不写死在这里,留到.env中管理。 - .env:环境变量入口文件(根目录下)。它是覆盖配置的最高优先级来源。内容示例:
DATABASE_HOST=127.0.0.1
DATABASE_NAME=my_project
DATABASE_USERNAME=root
DATABASE_PASSWORD=123456
CACHE_TYPE=redis
框架会自动读取并注入对应配置项(如 DATABASE_HOST → database.hostname),无需手动调用。
按需调整的配置文件
根据项目功能决定是否修改:
立即学习“PHP免费学习笔记(深入)”;
-
config/cache.php:选缓存驱动(
'type' => 'redis'或'type' => 'file'),设'prefix'避免缓存冲突,调'expire'控制有效期。 -
config/session.php:改
'type'(如'redis')提升并发能力;设'expire'控制登录态时长。 -
config/route.php:启用路由规则,比如关闭强制路由(
'route_check' => false)或定义资源路由(Route::resource('user', 'User');)。 -
config/log.php:生产环境建议关掉
'record' => false或把日志级别调为'level' => ['error'],避免磁盘写满。
配置生效逻辑与验证技巧
ThinkPHP 按顺序加载配置:框架默认 → 应用公共 → 环境变量(.env)→ 运行时设置。后加载的同名项会覆盖前面的。
- 修改后不用重启服务,但务必清空
runtime/config/缓存文件,否则旧配置仍生效。 - 调试时执行
config()(不带参数)可打印全部当前生效配置,确认database.hostname或app.app_debug是否已被.env正确覆盖。 - 多环境部署时,只维护一份
.env,不同服务器上传不同版本即可,config/下的 PHP 文件保持通用。
不推荐直接动的文件
避免修改 ThinkPHP 核心文件(如 thinkphp/config/ 下的默认配置)或入口文件(public/index.php)中的常量定义(如 APP_DEBUG)。这些容易被升级覆盖,且违背环境隔离原则。真正需要定制的行为,应通过 .env 或自定义配置文件实现。



















