vscode通过.vscode/launch.json 内置php服务启动thinkphp 应用后无法加载路由解决方法

我们在使用vscode的 .vscode/launch.json Launch built-in server and debug 启动thinkphp应用后默认是未加载thinkphp的路由文件的, 这个就导致了,某些thinkphp的一些url路由无法访问的情况, 如http://0.0.0.0:8000/api/auth.admin/info这种中间带点的二级路由/api/auth.admin/info就无法访问了.

解决方法

在.vscode/launch.json中增加启动参数, 将thinkphp的public路径下的router.php文件加载进去 即可。

XML 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch built-in server and debug",
            "type": "php",
            "request": "launch",
            "runtimeArgs": [
                "-S",
                "localhost:8000",
                "-t",
                "${cwd}/public",
                "${cwd}/public/router.php"
            ],
            "port": 9003,
            "serverReadyAction": {
                "action": "openExternally"
            }
        }

    ]
}

上面的 "${cwd}/public/router.php" 这个就是thinkphp的路由加载文件,如果使用内置php启动tp时不加载这个文件,这默认不会加载某些路由规则,加上这个就OK了。

tp兼容模式解决方法 (不推荐)

当然,对于tp的应用,还有另外一种解决方法,就是使用兼容模式来访问,如将http://0.0.0.0:8000/api/auth.admin/info这种url的访问方式改为http://0.0.0.0:8000/?s=/api/auth.admin/info 这样也是可以的. 不过某些url功能可能就需要调整

相关推荐
辛迪聊物业数字化1 小时前
智慧社区物业管理软件新手部署与实操指南
大数据·php
DevUp4 小时前
部署与运维:选完怎么把站跑起来?(番外六)
php·cms
TechLee4 小时前
一行代码防水平越权:用 PHP-Casbin 终结业务里的数据级 if-else
后端·php
j7~4 小时前
【Linux网络加餐】(篇六)网络版计算器(上):模板方法模式、序列化与 JSON
linux·c++·json·序列化·反序列化·网络版计算机
catchadmin5 小时前
PHP Trait 为何可能成为语言的关键特性
php
JaguarJack5 小时前
Whim 是什么?一门把 PHP 被否决的设想真跑起来的实验语言
后端·php·服务端
草莓熊Lotso6 小时前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
梦帮科技7 小时前
Next.js 16 模块化单体实战:App Router、领域模块与 Route Handler 分层
css·数据结构·链表·正则表达式·node.js·json·html5
右耳朵猫AI7 小时前
PHP周刊2026W37 | Symfony 三维护版齐发、Laravel AI SDK 0.11、LSP 服务器上线
后端·php·laravel
BingoGo9 小时前
Whim 是什么?一门把 PHP 被否决的设想真跑起来的实验语言
后端·php