最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ThinkPHP部署安装 全过程怎么完成 图文思路讲解
时间:2026-07-27 08:04:59 编辑:袖梨 来源:一聚教程网
ThinkPHP6部署必须走三步闭环:环境(PHP≥7.2.5+Composer)、入口(Web根目录指向public/)、规则(专用伪静态+runtime可写),缺一即报Class 'thinkApp' not found或404。
ThinkPHP部署安装不是“复制粘贴就完事”,关键在三步闭环:环境对得准、入口指得对、规则配得稳。跳过任意一环,都会报Class 'thinkApp' not found或404——问题不在代码,而在运行链断在了中间。
确保PHP与Composer已就位
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=composer - 国内用户务必换源提速:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
创建项目并清理上传内容
本地执行初始化命令,生成标准结构,但上传服务器时不能直接拖整个文件夹。
- 新建项目:
composer create-project topthink/think myapp(myapp可自定义) - 删掉本地
vendor/和runtime/目录——它们不该进Git,也不该直接上传 - 只上传以下内容到服务器:
•composer.json与composer.lock
•app/、config/、route/、view/等业务目录
•public/整个目录(含index.php)
Web服务器根目录必须指向public
这是八成部署失败的根源。ThinkPHP 6+ 是单入口架构,所有请求必须经 public/index.php 调度。把项目根目录设错,等于把钥匙扔在门外。
立即学习“PHP免费学习笔记(深入)”;
-
宝塔面板:站点设置 → “网站目录” 改为
/www/wwwroot/myapp/public(不是项目根目录) -
Nginx:配置中写
root /www/wwwroot/myapp/public;,不是/www/wwwroot/myapp -
Apache:虚拟主机里设
DocumentRoot "/www/wwwroot/myapp/public",并确保对应<Directory>块含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 命令会失效)。
Nginx/Apache伪静态规则要专用
ThinkPHP路由依赖 s= 参数传递PATH_INFO,不能套用Laravel或WordPress的规则,否则首页能开、子页面404。
-
Nginx(放在
server{}块内):location / {<br> if (!-e $request_filename) {<br> rewrite ^(.*)$ /index.php?s=$1 last;<br> }<br>} -
Apache:确认
.htaccess在public/下存在且生效(需开启mod_rewrite) - 测试方法:访问
http://域名/index/index应正常显示,而非跳转到/index.php/index/index