ThinkPHP的config目录是配置中枢,自动加载database.php(数据库连接)、app.php(应用行为)、view.php(模板渲染)、cache.php(缓存策略)等文件,修改后需清空runtime/cache生效,且绝不可置于public下以防泄露。

ThinkPHP 的 config 目录是整个应用的“配置中枢”,所有运行时行为、连接参数、功能开关都由它控制。它不参与业务逻辑,但一旦配错,轻则功能异常,重则服务不可用。关键点在于:这些文件由框架自动加载,无需手动 include 或 require;修改后多数需清空 runtime/cache/ 才生效;**绝不能放在 public/ 下,否则可能被直接访问导致敏感信息泄露**。
database.php:管数据库怎么连
定义 MySQL、PostgreSQL、SQL Server 等数据库的连接方式和凭证。核心项包括:
-
default:默认使用的数据库连接名(如
mysql) -
connections:具体连接配置数组,每个键对应一个连接名,含
type(驱动类型)、hostname、database、username、password、hostport、charset等 - deploy 和 read_master:用于读写分离或集群部署
app.php:管应用基本行为
影响全局运行模式和基础策略,常见配置有:
-
debug:是否开启调试模式(
true时显示错误详情、Trace 面板;上线必须设为false) -
app_namespace:应用命名空间前缀(TP6 默认为
app,决定app/controller/对应App\controller\) -
default_timezone:时区(如
'Asia/Shanghai'),影响date()、日志时间戳等 -
middleware:全局中间件列表,按顺序执行(如
AllowCrossDomain::class、CheckAuth::class)
view.php:管模板怎么渲染
控制视图引擎(默认 ThinkTemplate)的行为,例如:
-
view_path:模板文件根目录(默认
app/view/) -
view_suffix:模板文件后缀(如
'html',则index.html被识别为模板) -
view_depr:模板分隔符(如
'.',则user.index对应user/index.html) - cache:是否开启模板缓存(上线建议开启,开发期可关掉便于实时改模板)
cache.php:管数据怎么缓存
定义各种缓存驱动及默认行为,比如:
-
default:默认缓存驱动(
file、redis、memcached等) -
stores:各驱动详细配置,如
redis下的host、port、password、select - key_prefix:所有缓存键自动添加的前缀,避免多项目共用 Redis 时冲突
其他常用配置文件
根据扩展功能启用,非必需但高频使用:
- log.php:日志级别、保存路径、单文件大小、保留天数等
- session.php:会话驱动(
file/redis)、过期时间、Cookie 名称与安全设置 - cookie.php:Cookie 域名、有效期、HttpOnly、Secure 标志等
-
route.php:是否开启路由(
true),是否强制 HTTPS 跳转,URL 分隔符等 - middleware.php:更细粒度的中间件注册,支持分组绑定(如 API 组统一加 Token 验证)
配置不是越多越好,而是按需启用。新增自定义配置(如 wechat.php)只需放进来,用 Config::get('wechat.app_id') 就能读取,框架会自动合并加载。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











