ThinkPHP本地环境搭建核心在于项目结构、PHP版本、Web服务器指向public目录和.env加载时机四环节严丝合缝:必须用composer create-project初始化完整项目,PHP≥7.2.5且CLI与Web端版本一致,Web服务器DocumentRoot或root必须指向public/,.env需取消APP_DEBUG=true注释并重启服务。
ThinkPHP本地环境搭建不是“装个软件点下一步”就能完事,核心在于项目结构、PHP版本、Web服务器指向和环境加载时机四个环节严丝合缝。漏掉任何一环,轻则白屏报错,重则配置被外部直接访问。
别解压 ZIP,也别用 composer require —— 那只会拉取半截框架,缺入口文件、缺命令脚本、缺路由支持,必然报 Class 'thinkApp' not found 或 404。
composer --version 验证)composer create-project "topthink/think:^6.1" myapp
myapp/ 目录,确认存在 think 文件、public/ 目录和根目录下的 .env
TP6 要求 PHP ≥ 7.2.5,但强烈建议使用 PHP 8.0+;更要命的是,CLI 命令行用的 PHP 版本必须和 Web 服务器用的一致,否则 php think 正常,浏览器却报错。
php -v 查 CLI 版本;访问 http://localhost/phpinfo.php 查 Web 版本where php 查路径,删掉冲突项mbstring、openssl、pdo_mysql(或 pdo_sqlite),在 php.ini 中取消对应行前的分号这是 ThinkPHP 单入口设计的硬性要求。映射到项目根目录 = 暴露 config/、app/、.env,且静态资源 404、路由全失效。
立即学习“PHP免费学习笔记(深入)”;
DocumentRoot 和 <Directory> 全部指向 /path/to/myapp/public,并设 AllowOverride All
root 指向 /path/to/myapp/public,且关键配置不能少:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
php -S localhost:8000 -t public/(注意 -t public/ 不可省).env 文件默认所有配置项都被注释,不手动开启就等于没配——你改了数据库密码,但框架根本读不到,只给你一个空白页或 500 错误。
.env,取消这行注释:APP_DEBUG=true
DB_HOST=127.0.0.1<br>DB_NAME=mydb<br>DB_USER=root<br>DB_PWD=123456
php think run 的要 Ctrl+C 再重跑;.env 权限是否允许 Web 用户读取