ThinkPHP通过.env文件和环境变量实现多环境配置,框架根据app_ENV自动加载对应配置;项目根目录下创建.env文件定义变量,如APP_ENV=dev,并通过系统设置APP_ENV切换环境;支持.dev、.test、.prod等多环境文件,配合env()函数或config()读取配置,实现开发、测试、生产环境的灵活适配与部署。
ThinkPHP 的运行模式和环境变量设置主要通过配置文件与环境变量文件来实现,便于在不同环境(如开发、测试、生产)中灵活切换配置。
运行模式与环境区分
ThinkPHP 6.0+ 使用 .env 文件管理环境变量,框架会根据当前环境自动加载对应配置。常见的环境包括:
- dev:开发环境
- test:测试环境
- prod:生产环境
框架默认根据 APP_ENV 变量判断当前环境,若未设置则默认为 production。
.env 文件配置
在项目根目录创建 .env 文件,用于定义当前环境的变量。示例:
立即学习“PHP免费学习笔记(深入)”;
<font color="blue"> APP_ENV=dev APP_DEBUG=true APP_URL=http://localhost DB_TYPE=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_NAME=mydatabase DB_USER=root DB_PWD=123456 CACHE_DRIVER=redis REDIS_HOST=127.0.0.1 </font>
注意:.env 文件不应提交到版本控制中(如 Git),应将其加入 .gitignore。
多环境配置切换
可通过命名不同的环境文件实现多环境支持:
- .env.dev:开发环境
- .env.test:测试环境
- .env.prod:生产环境
实际使用中,通过系统环境变量指定加载哪个配置:
<font color="green"> // Linux/Mac 设置环境变量 export APP_ENV=dev // Windows(命令行) set APP_ENV=dev </font>
ThinkPHP 启动时会自动读取 .env.{APP_ENV} 文件并合并到配置中。
在代码中读取环境变量
使用 env() 函数获取环境变量值:
<font color="blue"> $debug = env('APP_DEBUG', false); // 第二个参数是默认值 $dbHost = env('DB_HOST', 'localhost'); </font>
也可以通过配置类读取:
<font color="blue"> config('database.hostname'); // 对应 DB_HOST </font>
基本上就这些。只要正确设置 .env 文件和 APP_ENV 环境变量,ThinkPHP 就能自动适配不同运行环境,方便部署和调试。
以上就是thinkphp mysql php linux redis git windows app mac 环境变量 thinkphp git