从另一台机器访问内置的 Mac Web 服务器

从另一台机器访问内置的 Mac Web 服务器

我正在使用 php 在 Mac 中创建内置 Web 服务器,以便我可以访问我的网页文件并通过文件路由它们。为了做到这一点,我使用了终端命令php -S localhost:8080 routing.php

当我使用 Mac 时,我可以访问http://localhost:8080并成功看到我的应用程序,但如果我进入网络中的另一台机器并访问http://myip:8080http://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 }

相关内容