如何在同网络iPhone访问Mac本地PHP服务器网站?
如何让同网络的iPhone访问Mac上运行在8000端口的PHP站点?
看起来你已经差一步就解决问题了!咱们来一步步排查并搞定这个问题:
核心问题:PHP服务器的绑定地址限制
默认情况下,当你用 php -S localhost:8000 启动服务器时,它只会绑定本地回环地址(127.0.0.1),这意味着只有Mac本机能访问,同网络的其他设备(比如你的iPhone)根本连不上这个端口。这就是你本地访问正常,但iPhone访问失败的关键原因!
解决步骤
1. 重新启动PHP服务器,绑定到所有网络接口
停止当前运行的PHP服务器(按 Ctrl + C),然后在你的项目根目录下执行以下命令:
php -S 0.0.0.0:8000
这个命令会让服务器监听Mac上所有可用的网络接口,包括局域网IP。你也可以直接绑定到你的Mac局域网IP,效果一样:
php -S 192.168.1.122:8000
2. 验证Mac本地的局域网IP访问
先在Mac上打开浏览器,访问 http://192.168.1.122:8000/index.php,确认页面能正常显示。这一步是为了排除服务器本身的配置问题。
3. 在iPhone上测试访问
确保iPhone和Mac连接到同一个WiFi网络,然后打开iPhone的浏览器,输入以下地址之一:
http://192.168.1.122:8000/index.php(直接用IP地址,最稳定)http://<你的Mac名称>.local:8000/index.php(替换<你的Mac名称>为Mac的实际名称,可在「系统设置」→「通用」→「关于本机」中查看)
注意:必须输入完整的 http:// 前缀,部分浏览器可能不会自动补全,导致访问失败。
4. 排查防火墙(如果上述步骤仍无效)
如果还是访问不了,检查Mac的防火墙是否阻止了8000端口的外部连接:
- 打开「系统设置」→「网络」→「防火墙」(不同macOS版本可能在「安全性与隐私」里)
- 临时关闭防火墙测试,如果能访问了,就添加一条允许PHP服务器进程通过防火墙的规则。
额外说明
你提到访问 http://<name>.local 能显示“It works!”,那是因为这个地址默认指向Mac上的Apache服务器(默认80端口),和你自己启动的PHP 8000端口服务器是两个不同的服务,所以之前的访问正常不代表8000端口的服务能被外部访问。
内容的提问来源于stack exchange,提问作者Aej11a
相关产品推荐
相关产品推荐

