发布于2026-07-15 阅读(0)
扫一扫,手机访问
ThinkPHP 6 的部署,其实就三步:环境配好、入口指对、规则写稳。这三步但凡跳过一个,你大概率会撞上 Class 'thinkApp' not found 或者 404 页面。别慌,不是代码写错了,是运行链条在中间断了。
ThinkPHP 6+ 要求 PHP 版本至少 7.2.5,推荐直接用 7.4 或 8.0+,性能更好。而且必须通过 Composer 来安装,别想着下载 ZIP 包或者 Git clone 就完事——那样会丢失自动加载机制,后续一堆麻烦。
先把环境检查一遍:
php -v,看看有没有输出版本号。没反应?先装 PHP,并确保加到系统 PATH 里。composer -v,确认 Composer 已就位。如果没装,去官网下载安装脚本,或者直接用这条命令一把梭:curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composercomposer config -g repo.packagist composer https://mirrors.aliyun.com/composer本地用 Composer 创建项目很简单:
composer create-project topthink/think myapp(myapp 换成你的项目名)但上传服务器时,千万别直接把整个文件夹拖过去。本地 vendor/ 和 runtime/ 目录是开发环境生成的,不能直接丢到线上。正确的做法是只上传这些内容:
composer.json 与 composer.lock(依赖清单)app/、config/、route/、view/ 等业务目录public/ 整个目录(里面包含入口文件 index.php)上传前,删掉本地的 vendor/ 和 runtime/,它们不该进 Git,也不该直接上传到服务器。
这一步是八成部署失败的罪魁祸首。ThinkPHP 6+ 是单入口架构,所有请求都要经过 public/index.php 来调度。如果你把站点根目录设成了项目根目录,等于把钥匙扔在了门外。
具体怎么配?看你的服务器环境:
/www/wwwroot/myapp/public(注意不是项目根目录)root /www/wwwroot/myapp/public;,而不是 /www/wwwroot/myappDocumentRoot "/www/wwwroot/myapp/public",同时确保对应的 块包含 AllowOverride All验证方法很简单:访问 http://你的域名/ 能看到欢迎页;访问 http://你的域名/app 应该返回 404——这说明 app 目录不会被 Web 直接访问,安全到位。
文件上传完了,别急着刷新页面。先 SSH 连上服务器,在项目根目录(即包含 composer.json 的那一层)执行以下三行:
composer install --no-dev --optimize-autoloader —— 安装生产环境依赖,生成高效的自动加载映射,速度提升明显。chmod -R 755 runtime/(Linux 环境)—— 确保 runtime/ 目录可写,日志、缓存、模板编译全靠它。php think clear —— 清空运行时缓存,避免旧配置干扰新代码。顺手检查一下:php -m | grep opcache 有输出,并且 opcache.enable_cli=1 已启用,否则 php think 命令可能失效。
ThinkPHP 的路由依赖 s= 参数传递 PATH_INFO,所以不能套用 Lara vel 或 WordPress 的规则。否则首页能打开,子页面全 404。
server{} 块内添加以下规则:location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}
}public/ 目录下的 .htaccess 文件存在且生效(前提是开启了 mod_rewrite)。测试方法:访问 http://域名/index/index 应该正常显示页面,而不是跳转到 /index.php/index/index。如果跳转了,说明伪静态没生效,再检查一遍配置。

三步闭环走完,基本上就不会有那些莫名其妙的报错了。记住:环境、入口、规则,缺一不可。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8