本地运行Laravel项目遇异常:php artisan serve无法访问但public路径可用
正确运行Laravel项目的几种方式
嘿,我来帮你搞定这个问题,顺便梳理下Laravel项目的正确打开姿势~
一、先解决你遇到的php artisan serve访问失败问题
你明明看到控制台提示服务器启动了,但浏览器连不上,大概率是这几个小问题:
- 换个端口试试:8000端口很可能被其他程序(比如迅雷、其他开发服务器)占用了,咱们换个端口启动就行,执行命令:
php artisan serve --port=8080,然后访问http://127.0.0.1:8080或者http://localhost:8080,应该就能正常打开了。 - 检查防火墙/安全软件:有些本地防火墙或者杀毒软件会拦截本地开发服务器的请求,你可以暂时关闭这些软件,再试试访问。
- 别关命令行窗口:
php artisan serve启动后,那个命令行窗口得一直开着,关掉的话服务器直接就停了,自然访问不了啦。
二、你当前能用的public目录访问方式(适合Apache/Nginx环境)
你现在访问http://localhost/laravel/public/能正常运行,说明你的本地Web服务器(比如XAMPP、WAMP里的Apache)已经正常工作了,这种方式更贴近生产环境的运行逻辑,要是你习惯用这个,可以优化一下:
- 配置虚拟主机:把Laravel项目的
public目录设为虚拟主机的根目录,这样你就能用自定义域名(比如laravel.test)访问,不用每次输长长的路径。以Apache为例:- 找到Apache的
httpd-vhosts.conf配置文件(一般在XAMPP的apache/conf/extra目录下) - 添加下面的配置(注意替换成你自己的项目路径):
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/laravel/public" ServerName laravel.test </VirtualHost>- 打开本地的
hosts文件(Windows在C:\Windows\System32\drivers\etc\hosts,Mac/Linux在/etc/hosts),添加一行:127.0.0.1 laravel.test - 重启Apache,之后直接访问
laravel.test就能打开项目啦。
- 找到Apache的
三、其他更高效的开发运行方式
- Laravel Sail(推荐Docker用户):这是Laravel官方推出的Docker开发环境,一键就能搭建好包含Nginx、MySQL、Redis等全套服务的环境,安装好之后在项目目录执行
sail up,就能访问http://localhost打开项目了,不用自己折腾服务器配置。 - Laravel Valet(仅Mac/Linux):如果你用的是Mac或者Linux,Valet是个轻量级的开发环境,安装完成后,在项目目录执行
valet link,就能用laravel.test这类自定义域名访问项目,速度快还省心。
内容的提问来源于stack exchange,提问作者Magecode
相关产品推荐
相关产品推荐

