OS X Lion - apache 和 php 设置

OS X Lion - apache 和 php 设置

我正在尝试设置 OS X 的内置 Apache 部分以与 php 配合使用。我已经完成了在 httpd.conf 文件中取消注释 php 行等的过程。但是,我似乎无法让 Web 服务器找到任何要测试的文件。我将 ListenPort 更改为 3333,因为我运行https://github.com/37signals/pow在端口 80 上。如下所示:

 <IfDefine !MACOSXSERVER>
   Listen 3333
 </IfDefine>

而且服务器似乎对 3333 的响应很好。我还设置了 /etc/apache2/users/aaronmcleod.conf,将虚拟主机存储到 ~/Sites 文件夹中,如下所示:

<Directory "/Users/aaronmcleod/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

NameVirtualHost *:3333

<Virtualhost *:3333>
    DocumentRoot /Users/aaronmcleod/Sites
    ServerName aaronmcleod.dev
</Virtualhost>

然而,当我去http://localhost:3333/test.php我刚刚收到来自 Apache 的 404 错误。您知道我错过了什么吗?

答案1

# Mac OS X / Mac OS X Server
# The <IfDefine> blocks segregate server-specific directives
# and also directives that only apply when Web Sharing or
# server Web Service (as opposed to other services that need Apache) is on.
# The launchd plist sets appropriate Define parameters.
# Generally, desktop has no vhosts and server does; server has added modules,
# custom virtual hosts are only activated when Web Service is on, and
# default document root and personal web sites at ~username are only
# activated when Web Sharing is on.

这意味着 /etc/apache2/httpd.conf 使用了特殊的 xml 标签,使用户能够根据您是 OS X 服务器还是常规 OS X 桌面来启用或禁用模块。此外,配置设置为,如果您进入“系统偏好设置”-“共享”-“启用 Web 共享”,它将配置 OS X 加载 /etc/apache2/other/*.conf,而这正是您要考虑放置 whateversite.conf 文件的位置。

答案2

看起来如果我在系统偏好设置的共享部分下启动 apache,我可以正常访问它。不过我想知道为什么通过终端启动服务器时它不起作用。

相关内容