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功能可能就需要调整

相关推荐
zhojiew12 分钟前
通过Toxiproxy从原理到实践理解混沌工程
开发语言·php
油炸自行车9 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
czy878747510 小时前
vscode编译make命令要修改stm32cubemx生成的STM32F103XX_FLASH.ld文件
ide·vscode·stm32
Ether IC Verifier11 小时前
SystemVerilog 数据类型详解
php·systemverilog·uvm·ic验证
弥树子11 小时前
踩坑记录:服务器内网调用接口,真实请求URL与官方公开URL不一致问题排查
开发语言·php
AugustRed13 小时前
Linux 运维常用命令大全(超全速查表)
运维·网络·php
小poop19 小时前
VS实用调试技巧详解
vscode
π同学19 小时前
ESP-IDF+vscode开发ESP32第十五讲——队列、流缓冲区、环形缓冲区
vscode·esp32·缓冲区
剑神一笑19 小时前
Linux lsof 命令深度解析:从文件描述符到进程追踪
linux·运维·php
BingoGo20 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.3.1 发布 后台打包直降 5s 内
后端·php