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服务器主要用于本地开发,不可用于线上产品环境。