Laravel Passport结合Valet虚拟主机通过端口访问API的可行性咨询
关于Laravel Valet与API访问的问题解答
嘿,针对你的两个问题,我给你详细捋清楚:
1. 能否通过https://myapp.test:8000/api访问API?
理论上如果你同时运行着php artisan serve(监听8000端口)和Valet的话,这个地址确实能访问到API,但完全没必要这么做。
原因很简单:Valet本身已经通过后台运行的Nginx处理你的项目请求,默认使用HTTPS的443端口(所以访问https://myapp.test时根本不需要加端口号)。而php artisan serve启动的是Laravel内置的轻量开发服务器,和Valet的Nginx是两个独立的服务。同时开着两者相当于本地跑了两份相同的API服务,既浪费资源,还容易搞混环境。
2. 能否直接在域名上部署API,避免每次运行php artisan serve?
当然可以!这正是Valet设计出来的核心用途之一,彻底摆脱php artisan serve的手动启动烦恼。
你只需要确保项目已经正确关联到Valet:
- 如果你的项目放在Valet的
park目录下,Valet会自动识别域名(比如项目文件夹叫myapp,就对应myapp.test) - 如果不在park目录,运行
valet link myapp命令,手动把域名和项目目录关联起来
Valet会自动帮你配置好Nginx转发规则和SSL证书,之后你直接访问https://myapp.test/api就能正常调用API了——后台的Nginx会自动处理所有请求,完全不用每次启动serve命令。
总结一下:直接用https://myapp.test/api访问就好,这是Valet给你提供的更便捷、稳定的本地开发方式,彻底告别手动启动serve的麻烦。
内容的提问来源于stack exchange,提问作者Marco Tesini
相关产品推荐
相关产品推荐

