用php内置服务器可快速启动thinkphp6项目:进入项目根目录执行php -s localhost:8000 -t public/,访问http://localhost:8000即可;但仅限开发调试,不支持重写等功能。

刚下载完ThinkPHP6,想立刻看到首页但又不想折腾Apache或Nginx?用PHP内置服务器能三秒启动,而虚拟主机配置则是为后续多项目、域名路由、真实环境模拟打下基础——这两步必须分开做,不能混为一谈。
用PHP内置服务器快速启动项目
这一步操作起来很简单,直接把文件拖进去就行。打开命令行,cd进入你的ThinkPHP项目根目录(不是public目录),执行:
php -S localhost:8000 -t public/
【-t public/不可省略,否则会报错“Failed to open stream: No such file or directory”】 启动后浏览器访问 http://localhost:8000 即可看到欢迎页。注意:该服务器仅用于开发调试,不支持.htaccess、PATH_INFO等特性,也不能处理子域名或伪静态重写。
Apache虚拟主机配置(Windows/macOS通用)
要让项目支持完整路由、多应用、子域名绑定,必须配Apache虚拟主机。以下步骤按顺序执行,缺一不可:
第一步:确认 Apache 已启用 mod_rewrite 和 vhost_alias 模块。打开 httpd.conf,取消注释这两行:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
第二步:确保 Apache 加载了独立的虚拟主机配置文件。在 httpd.conf 末尾检查是否存在 Include conf/extra/httpd-vhosts.conf(Windows)或 IncludeOptional sites-enabled/*.conf(macOS/Linux),没有就手动添加。
第三步:编辑 httpd-vhosts.conf,在末尾新增一个 VirtualHost 块:
ServerName tp6.test
DocumentRoot "C:/www/myapp/public"
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
第四步:修改系统 hosts 文件,在末尾追加一行:127.0.0.1 tp6.test。保存时务必用 UTF-8 无 BOM 编码,否则 Apache 可能无法识别该域名。
第五步:重启 Apache 服务。必须通过控制面板或命令行执行 apachectl restart(macOS)或 httpd -k restart(Windows),仅刷新浏览器或 reload 配置无效。
Nginx虚拟主机配置(精简安全版)
方法一:root指向public目录(推荐)
打开 Nginx 站点配置文件(如 C:/phpEnv/nginx/vhost/tp6.conf),server 块内写入:
root C:/www/myapp/public;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?s=$uri&$args; }
location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
【删除所有 fastcgi_split_path_info 行,TP6 不依赖 PATH_INFO,保留会导致路由解析失败】
方法二:用符号链接绕过路径硬编码(Linux/macOS适用)
在 /var/www/ 下执行 ln -sf /path/to/myapp/public tp6,然后 Nginx root 设为 /var/www/tp6。这样换项目只需改链接目标,不用动配置。
本地域名绑定与DNS刷新
Windows用户:以管理员身份运行记事本,打开 C:\Windows\System32\drivers\etc\hosts,末尾添加:
127.0.0.1 tp6.test
127.0.0.1 admin.tp6.test
127.0.0.1 api.tp6.test
macOS用户:用 sudo vim /etc/hosts 添加相同内容。添加后立即执行 sudo dscacheutil -flushcache 刷新DNS缓存。
注意:每行只能有一个域名,IP与域名之间用空格或Tab分隔;域名不能含下划线、不能带端口;改完不刷新DNS,浏览器仍会走旧缓存。
验证是否成功
在浏览器中分别访问 tp6.test、admin.tp6.test 和 api.tp6.test。若全部返回 ThinkPHP 欢迎页或对应应用入口,则配置完成。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











