thinkphp在xampp中运行需正确配置apache:启动服务并解决端口冲突;项目置于htdocs下子目录(如tp6),web根目录指向public;启用mod_rewrite模块;在对应块中设置allowoverride all;推荐配置虚拟主机并绑定hosts域名,改完必须重启apache。

刚下载完ThinkPHP想立刻跑起来,但访问localhost/thinkphp/public却提示404或500错误——问题不在代码,而是XAMPP里Apache没真正认出ThinkPHP的重写规则和入口路径。
确认XAMPP基础服务已就绪
打开XAMPP控制面板,点击Apache和MySQL右侧的Start按钮,确保状态栏变为绿色;若提示端口被占用(如80端口冲突),点击Config → Apache (httpd.conf),搜索Listen 80,改为Listen 8080并保存,重启Apache。
浏览器访问http://localhost:8080,看到XAMPP欢迎页才算Apache正常启动。
把ThinkPHP项目放对位置
将解压后的ThinkPHP项目(例如名为tp6)整个文件夹拖入XAMPP\htdocs目录下,确保结构为:XAMPP\htdocs\tp6\public\index.php可直接访问。
【关键前提】不要把public子目录单独拎出来放到htdocs根目录——ThinkPHP 6+强制要求Web服务器根目录指向public,而非项目根目录。
启用Apache重写模块与.htaccess识别
第一步:用记事本或VS Code打开XAMPP\apache\conf\httpd.conf;
第二步:Ctrl+F搜索#LoadModule rewrite_module modules/mod_rewrite.so,删掉行首的#,使其变为LoadModule rewrite_module modules/mod_rewrite.so;
第三步:继续搜索
AllowOverride All
Options FollowSymLinks
注意:如果项目放在子目录如htdocs\tp6,必须找到对应
配置虚拟主机(推荐,避免路径污染)
方法一:启用vhosts配置
用编辑器打开XAMPP\apache\conf\extra\httpd-vhosts.conf,在文件末尾追加以下内容(路径和域名按需替换):
DocumentRoot "C:/xampp/htdocs/tp6/public"
ServerName tp6.test
Options FollowSymLinks
AllowOverride All
Require all granted
方法二:修改hosts文件绑定域名
用管理员权限打开C:\Windows\System32\drivers\etc\hosts,新增一行:127.0.0.1 tp6.test;
保存后重启Apache,浏览器访问http://tp6.test:8080即可加载ThinkPHP首页。
验证.htaccess是否生效
确保tp6/.htaccess文件真实存在且未被重命名(不是.htaccess.txt),内容应以RewriteEngine On开头;
若访问http://localhost:8080/tp6/public/index.php能显示欢迎页,但http://localhost:8080/tp6/public直接报404,说明重写未生效——请回头检查AllowOverride All是否写在了正确的
这一步不需要额外插件或扩展,纯Apache配置驱动,改完必须重启Apache才生效。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











