laravel web server设置远程访问及原理

laravel中可以用命令行PHP artisan serve 启动web server,并通过localhost:8000访问项目。

但是因为开发环境为虚拟机部署项目,然后通过端口访问,所以开启服务之后无法远程访问。

网上相关说明比较少,通过查看laravel配置发现

PHP artisan serve --host 0.0.0.0

这样既可远程访问。

原理是因为PHP5.4版本开始,PHP内置了一个web server,可以本地快速开发。

PHP -S 0.0.0.0:8001

这样就会开启一个根目录为命令所在目录的http服务,当收到访问时,会认执行目录里的index文件,如果不存在则404 error。

Example #1 启动Web服务器  服务于当前目录
$ PHP -S localhost:8000
Example #2 启动时指定根目录
$ PHP -S localhost:8000 -t foo/
Example #3 使用路由(Router)脚本
$ PHP -S localhost:8000 router.PHP

tip:内置web服务器主要用于本地开发,不可用于线上产品环境。

相关文章

laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载