ThinkPHP 6 的部署,其实就三步:环境配好、入口指对、规则写稳。这三步但凡跳过一个,你大概率会撞上 Class 'thinkApp' not found 或者 404 页面。别慌,不是代码写错了,是运行链条在中间断了。

环境准备:PHP 和 Composer 一个都不能少

ThinkPHP 6+ 要求 PHP 版本至少 7.2.5,推荐直接用 7.4 或 8.0+,性能更好。而且必须通过 Composer 来安装,别想着下载 ZIP 包或者 Git clone 就完事——那样会丢失自动加载机制,后续一堆麻烦。

先把环境检查一遍:

建项目,但别一股脑上传

本地用 Composer 创建项目很简单:

但上传服务器时,千万别直接把整个文件夹拖过去。本地 vendor/runtime/ 目录是开发环境生成的,不能直接丢到线上。正确的做法是只上传这些内容:

上传前,删掉本地的 vendor/runtime/,它们不该进 Git,也不该直接上传到服务器

关键一步:Web 根目录必须指向 public/

这一步是八成部署失败的罪魁祸首。ThinkPHP 6+ 是单入口架构,所有请求都要经过 public/index.php 来调度。如果你把站点根目录设成了项目根目录,等于把钥匙扔在了门外。

具体怎么配?看你的服务器环境:

验证方法很简单:访问 http://你的域名/ 能看到欢迎页;访问 http://你的域名/app 应该返回 404——这说明 app 目录不会被 Web 直接访问,安全到位。

上线前必跑的三行命令

文件上传完了,别急着刷新页面。先 SSH 连上服务器,在项目根目录(即包含 composer.json 的那一层)执行以下三行:

顺手检查一下:php -m | grep opcache 有输出,并且 opcache.enable_cli=1 已启用,否则 php think 命令可能失效。

伪静态规则:必须用 ThinkPHP 专用的

ThinkPHP 的路由依赖 s= 参数传递 PATH_INFO,所以不能套用 Lara vel 或 WordPress 的规则。否则首页能打开,子页面全 404。

测试方法:访问 http://域名/index/index 应该正常显示页面,而不是跳转到 /index.php/index/index。如果跳转了,说明伪静态没生效,再检查一遍配置。

ThinkPHP部署安装全过程怎么完成 图文思路讲解

三步闭环走完,基本上就不会有那些莫名其妙的报错了。记住:环境、入口、规则,缺一不可。

本文转载于:https://www.php.cn/faq/2823763.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。