React-Native无法连接Laravel后端,仅Ngrok可用求助
解决React-Native连接Laravel本地后端失败的问题
核心问题分析
默认php artisan serve仅绑定本地回环地址127.0.0.1,局域网内的移动设备无法直接访问;同时Windows防火墙、移动设备网络配置也可能导致连接失败。
具体解决方案
1. 修改Laravel服务绑定地址
运行php artisan serve时,指定绑定所有可用网络接口,让局域网设备能通过本机IP访问:
php artisan serve --host=0.0.0.0 --port=8000
之后移动设备使用http://192.168.X.XX:8000(替换为你实际的局域网IP)发起请求即可。
2. 配置Windows防火墙
确保Windows防火墙允许8000端口的入站连接:
- 打开「Windows Defender防火墙」→「高级设置」
- 右键「入站规则」→「新建规则」
- 选择「端口」→ 输入
8000→ 允许连接→ 勾选所有网络类型→ 命名规则(比如「Laravel Dev Server」)
3. 确保设备处于同一局域网
移动设备和Windows电脑必须连接到同一个WiFi/局域网,USB调试仅用于React-Native的调试通信,API请求仍依赖网络连接。
4. 适配React-Native平台网络限制
Android端
- 在
AndroidManifest.xml中确认已添加网络权限:<uses-permission android:name="android.permission.INTERNET" /> - 针对Android 9及以上版本,允许明文HTTP请求:
在AndroidManifest.xml的<application>标签中添加:android:usesCleartextTraffic="true"
iOS端
- 在
Info.plist中添加NSAppTransportSecurity例外,允许本地HTTP请求:<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
内容的提问来源于stack exchange,提问作者gabogabans
相关产品推荐
相关产品推荐

