我正在使用 php 在 Mac 中创建内置 Web 服务器,以便我可以访问我的网页文件并通过文件路由它们。为了做到这一点,我使用了终端命令php -S localhost:8080 routing.php
。
当我使用 Mac 时,我可以访问http://localhost:8080
并成功看到我的应用程序,但如果我进入网络中的另一台机器并访问http://myip:8080
或http://my-Mac-adress.local:8080
,我无法访问我的应用程序...
所以,我的问题是:如何使用同一网络中的另一台计算机访问我的应用程序?
另外,是否可以配置 apache,这样我就不必php -S localhost:8080 routing.php
每次访问它时都启动服务器?问题是我正在使用 silex 来完成路由和 clean-url 系统,所以我必须将访问路由到文件routing.php
...
最后,如果我没有解释清楚,我很抱歉;我真的是网络服务器方面的新手。
谢谢!
答案1
只要您告诉 PHP 内置网络服务器监听localhost
,它就无法远程访问。请尝试使用0.0.0.0
或*
代替localhost
。
Apache 根本不涉及您当前的设置,或者您在问题中遗漏了该部分。
当然可以使用 Apache,通常可以使用 mod_php。有很多指南介绍如何设置它。
Silex 很可能附带一个.htaccess
用于 Apache 和 mod_rewrite 的版本。将其放在 Web 应用程序的顶级目录中应能确保正确的路由功能。
答案2
启用网站
分享您的网站的最简单方法:Web Sharing
在 中启用System Preferences
。
您的 Mac 上正在运行内置 Apache。
配置你的 Apache
要配置您的 Apache,您应该检查位于 的文件/etc/apache2/
。
/etc/apache2/httpd.conf
将配置 apache 的一般配置/etc/apache2/users/
包含per-user
配置 文件在文件内部
yourname.conf
你需要添加<IfModule mime_module> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule>
到使能够 php
在你的 Apache 上,你需要添加像这样的文件/etc/apache2/others/php55.conf
在这个文件中,你将像这样加载 php 模块
LoadModule php5_module libexec/apache2/libphp5.so
控制你的 Apache
除了系统偏好commandline
设置之外,还可以调用
sudo apachectl { start | restart | stop }