ThinkPHP 6.0 默认入口是 public/index.php,调整位置需同步修改文件路径、入口代码和服务器根目录配置;新增独立入口(如admin.php)可分离前后台;仅改名则需重命名并更新路径与服务器默认首页配置。

ThinkPHP 6.0 的默认入口文件是 public/index.php,它被设计为唯一可被 Web 服务器直接访问的脚本。修改入口文件不是指“删掉它”或“随便换名”,而是指两种常见需求:调整入口位置(如移到根目录)或新增独立入口(如后台专用入口)。两者目的不同,操作方式也不同。
把入口文件移到网站根目录(简化 URL)
目的是让访问域名时直接运行框架,而不是通过 /public/index.php。这需要三步同步操作:
- 将
public/index.php剪切并粘贴到项目根目录(与app、vendor同级),重命名为例如index.php - 编辑该新入口文件,修正路径引用:
// 原 public/index.php 中的 define('APP_PATH', __DIR__ . '/../application/'); require __DIR__ . '/../vendor/autoload.php'; // 改为(路径上移一级) define('APP_PATH', __DIR__ . '/application/'); require __DIR__ . '/vendor/autoload.php'; - 修改 Web 服务器配置,把网站根目录指向项目根目录(不是原来的
public目录);Apache 用户还需确保.htaccess在根目录且规则有效
新增一个独立入口文件(如后台专用)
适用于分离前后台、提升安全性。例如新建 admin.php 专用于后台模块:
- 在项目根目录新建
admin.php,内容如下:<?php // [后台专用入口文件] namespace think; require __DIR__ . '/vendor/autoload.php'; $http = (new App())->http; $response = $http->name('admin')->run(); // 绑定 admin 应用 $response->send(); $http->end($response); - 确保
application/admin/模块已存在且结构完整 - 配合
.htaccess隐藏.php后缀(可选),例如添加规则:RewriteRule ^admin$ ./admin.php [L] RewriteRule ^admin/(.*)$ admin.php/$1 [L,QSA]
不推荐但偶有需求:改名默认入口
若只是想把 public/index.php 改成 public/start.php 这类名称,只需两步:
- 重命名文件,并更新其内部所有相对路径(尤其是
autoload.php和APP_PATH的引用) - 修改 Web 服务器默认首页配置(Apache 的
DirectoryIndex,Nginx 的index指令),加入新文件名 - 注意:此操作不会隐藏入口,URL 中仍需显式写出
start.php,且需同步更新所有部署文档和 CI 脚本
入口文件本质是启动器,核心逻辑由 App 类控制。只要能正确加载自动加载器、定义好应用路径、触发 run(),任何 PHP 文件都可作为入口——但务必保持 public 目录外的代码不可被 Web 直接访问,这是 ThinkPHP 安全模型的基础。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











