如何在 macOS 12 Monterey 上设置 MAMP本地服务器
Apple 于 2021 年 10 月 25 日发布了 2021 年最新的 macOS 12 Monterey。今年又到了,如果您从 macOS 11 Big Sur 或更旧版本升级,您可能需要重新配置 macOS。
或者,如果您有一台装有 macOS 12 Monterey 的全新 Mac,以下配置步骤应该可以帮助您在 macOS 平台上设置本地 Web 服务器。
在 macOS 12 Monterey 上,系统内置了 Apache。但是,当您查看 Apache 内置的 httpd.conf 时,您会注意到有一行说:
#PHP was deprecated in macOS 11 and removed from macOS 12
从 macOS 12 Monterey 开始,由于没有内置 PHP,如果您想设置 MAMP(macOS、Apache、MySQL、PHP)堆栈,我建议使用 Apache 的 Homebrew 版本以及 PHP。
禁用 macOS 内置 Apache
由于我们不会使用 macOS 12 内置版本的 Apache,如果您的内置 Apache 正在运行,请发出以下命令来停止 Apache 服务。
打开终端Terminal并输入:
sudo apachectl stop
安装Homebrew
您需要做的第一件事是将 Homebrew 安装到您的 macOS 12 Monterey 系统(如果您还没有安装 Homebrew)。
检查您是否安装了 Homebrew 或知道安装的 Homebrew 版本
打开Terminal并输入brew -v
Homebrew 3.3.0
Homebrew/homebrew-core(git 修订版 359f9f16171;最后一次提交 2021-10-25)
这意味着您已经安装了 Homebrew。如果您没有看到以上内容,请按照以下步骤在您的系统中安装 Homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
打开Terminal并粘贴上面的命令。
注意:如果您没有安装 Xcode 的命令行工具,Homebrew 安装程序将首先下载并安装 Xcode 的命令行工具,然后它将继续完成 Homebrew 到您的系统的安装。
导出环境路径
当您尝试发出 brew 命令时,您可能会收到以下错误。
zsh: command not found: brew
如果出现上述错误,则必须通过发出以下命令来导出路径。
export PATH="/opt/homebrew/bin:$PATH"
打开Terminal并键入以下命令,然后按 Enter。
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> $HOME/.zshrc
然后键入以下命令并按 Enter。
关闭Terminal并重新打开一个新Terminal窗口。
通过 Homebrew 安装 Apache
安装 Homebrew 并正确设置导出后,下一步是使用 Homebrew 安装 Apache。
打开 Terminal
输入 brew install httpd
配置 Homebrew 版本的 Apache(httpd.conf 文件)
打开 Terminal
输入 cd /opt/homebrew/etc/httpd/
键入 sudo cp httpd.conf httpd.conf.bak并按 Enter(如果您想保留原始配置文件的副本,则此步骤是可选的。)
输入 sudo nano httpd.conf,进行编辑
启用模块和配置
您需要启用(取消注释该行)并修改/更新httpd.conf文件中的配置。
要启用模块,首先,您需要找到要启用的模块。
用于调control + w出搜索功能,查找以下模块并确保取消注释。(删除#每行前面的。)
LoadModule authn_core_module lib/httpd/modules/mod_authn_core.so LoadModule authz_host_module lib/httpd/modules/mod_authz_host.so LoadModule userdir_module lib/httpd/modules/mod_userdir.so LoadModule include_module lib/httpd/modules/mod_include.so LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so Include /opt/homebrew/etc/httpd/extra/httpd-userdir.conf
修改 DocumentRoot
使用control + w并搜索DocumentRoot. 注释掉(放在#下面每一行的前面。
DocumentRoot "/Users/mymac/work/" <Directory "/Users/mymac/work/"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks Multiviews MultiviewsMatch Any # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # Require all granted </Directory>ed
修改监听端口
默认情况下,它将侦听 port 8080。如果要监听端口80,修改Listen 8080为Listen 80.
使用Control + w并搜索Listen 8080然后替换为Listen 80
在您的用户名下创建站点文件夹
由于我们将 DocumentRoot 定义为/Users/mymac/work/
。我们需要Sites在用户“ developer”下创建这个“ ”文件夹。
打开Finder并导航到用户的文件夹。
创建新文件夹并将其命名为“ work”
通过 Homebrew 安装 PHP
打开 Terminal
输入 brew install PHP
等待安装完成。
修改 httpd.conf 以在 Apache 上启用 PHP
打开终端
输入 cd /opt/homebrew/etc/httpd/
输入 sudo nano httpd.conf 编辑
添加以下几行。
LoadModule php7_module /usr/local/Cellar/php@7.1/7.1.33_4/lib/httpd/modules/libphp7.so
# 注意这里要根据你具体的php路径,如果是7.x 中间php7_module,如果是8.x,则php_module,后面也是libphp.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
使用Control + w并搜索DirectoryIndex,然后添加index.php
创建 phpinfo.php 文件
phpinfo.php 文件将用于检查 PHP 是否正常工作。
打开 Terminal
输入 cd ~/work
类型 sudo nano phpinfo.php
打开 nano 应用程序后,添加以下行。
<?php phpinfo(); ?>
然后按control + o保存然后control + x退出nano应用程序。
启动Apache服务器
完成Apache和PHP的配置后,让我们启动Apache服务器。
打开 Terminal
输入 brew services restart httpd
要检查 Apache 服务是否正在运行,请键入 brew services list
你应该看到类似的东西:
httpd 启动开发人员 /Users/developer/Library/LaunchAgents/homebrew.mxcl.httpd.plist
// 注:如果php显示none,则表示php没开启,开启方法:brew services restart php@7.1 根据自己的版本号调整,关闭stop、重启restart
如果您看到“已启动”状态,则表示 Apache 服务器已启动并正在运行。

浙公网安备 33010602011771号