搭建Android后端:无法通过IP访问Laravel开发服务器求助
解决Laravel + WampServer 局域网访问超时问题
嘿,我来帮你排查这个连接超时的问题,我之前开发本地服务的时候也踩过类似的坑,咱们一步步捋:
1. 先修正Laravel服务的绑定地址
这是最容易忽略的坑! 默认用php artisan serve启动服务时,它只会绑定到127.0.0.1:8000,这意味着只有你的PC本地能访问,局域网里的其他设备(比如你的Android手机)根本连不上。
你需要启动服务时指定绑定到局域网IP或者允许所有IP访问的0.0.0.0:
# 允许所有设备访问 php artisan serve --host=0.0.0.0 --port=8000 # 或者直接绑定你的PC局域网IP php artisan serve --host=192.168.1.6 --port=8000
启动成功后,终端会显示类似Laravel development server started: http://192.168.1.6:8000的提示,这时候再尝试访问。
2. 检查防火墙和端口放行
- 先确认Windows防火墙有没有放行8000端口,你可以先临时关闭防火墙测试一下(测试完记得重新打开,安全第一);
- 如果你用的是第三方杀毒软件,也要看看它的防火墙规则有没有拦截8000端口的入站请求。
3. 用其他设备验证连通性
先别急着测Android应用,找另一台电脑或者直接用手机浏览器输入http://192.168.1.6:8000:
- 如果还是超时,说明问题出在你的PC端(网络配置、防火墙或者服务绑定不对);
- 如果能正常打开Laravel的欢迎页,那问题可能在Android应用这边:比如Android 9及以上版本默认禁止明文HTTP请求,你需要在
AndroidManifest.xml的<application>标签里添加android:usesCleartextTraffic="true"。
4. 确认PC的局域网IP是否正确
有时候路由器会自动分配IP,你可以在PC上打开命令提示符(cmd),输入ipconfig,找到以太网适配器的IPv4地址,确认是不是192.168.1.6,别输错了地址导致连不上。
5. 检查端口是否被占用
如果Laravel服务启动失败,或者启动了还是连不上,可能是8000端口被其他程序占用了。你可以在cmd里输入:
netstat -ano | findstr :8000
如果返回结果里有其他进程ID,就打开任务管理器杀掉对应的进程,或者换个端口(比如8001)启动Laravel服务。
按照上面的步骤一步步排查,应该能解决这个超时问题。
内容的提问来源于stack exchange,提问作者Heythem
相关产品推荐
相关产品推荐

