最近折腾网站细节的频率有点高,时不时就会因为一行代码的改动导致线上站点出故障。为了避免这种 “心惊胆战” 的操作,于是决定搭建一套本地Web环境来做测试。最开始选了MAMP,结果发现免费版功能太单一,连数据导入的入口都难找,更头疼的是,不少代码在MAMP里测试完全没问题,放到真实服务器上却各种报错。折腾了几次实在忍不了,干脆放弃集成工具,直接在 macOS 系统上手动配置一套原汁原味的 PHP+Nginx+MySQL 环境,顺便把 WordPress 也部署好。
方法1:官方PHP安装器
由于macOS没有预装PHP,所以可用官方PHP安装器:
- 访问PHP官方网站下载页面:https://www.php.net/downloads.php
- 选择最新的稳定版本(推荐PHP 8.3或更高版本)
- 下载macOS安装包
- 按照安装向导完成安装
- 安装完成后,打开终端并运行
`php -v`验证安装
方法2:Homebrew
Homebrew是macOS上的包管理器,使用它安装PHP更加灵活。
Homebrew
1. 安装Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
因为网络等因素上面的链接可能会导致安装失败,可以试一下下面的清华大学提供的镜像:
git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install
/bin/bash brew-install/install.sh
rm -rf brew-install
也可使用国内的镜像源:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2. 如果之前安装失败,可能需要先清理:
sudo rm -rf /opt/homebrew
3. 也可手动进行安装
3.1. 创建目录
sudo mkdir -p /opt/homebrew
sudo chown -R $(whoami) /opt/homebrew
3.2. 下载最小核心
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C /opt/homebrew
3.3. 添加 PATH
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
4. 安装完成后,运行以下命令更新Homebrew:
brew update
PHP
1. 安装PHP:
# 安装最新稳定版 PHP
brew install php
# 或者安装特定版本(推荐,更稳定)
brew install php@8.3
2. 将 PHP 添加到 PATH
echo 'export PATH="/opt/homebrew/opt/php@8.3/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@8.3/sbin:$PATH"' >> ~/.zshrc
3. 验证安装:
php -v
或
php -v
brew services list | grep php
4. 启动 PHP 服务
# 启动 PHP-FPM(Web 服务器需要)
brew services start php@8.3
# 查看服务状态
brew services list
5. 安装后的常用操作
5.1 查看 PHP 配置信息:
# 查看 PHP 配置文件位置
php --ini
# 查看已安装的扩展
php -m
# 查看 PHP 详细信息
php -i | head -20
5.2 安装常用扩展:
# 安装常用扩展
brew install autoconf pkg-config
# 通过 PECL 安装扩展
pecl install redis
pecl install xdebug
MySQL
1. 安装并启动数据库
# 安装MySQL
brew install mysql
# 启动MySQL服务,并设置为开机自启
brew services start mysql
# 运行安全初始化脚本,设置root密码(务必牢记此密码)
mysql_secure_installation
执行mysql_secure_installation时,根据提示设置root密码,并一路按 Y 确认其他安全选项即可。
Nginx
1. 安装 Nginx:
# 安装Nginx
brew install nginx
# 启动Nginx服务
brew services start nginx
接下来,需要编辑Nginx的配置文件,让它能处理PHP。
2. 配置 Nginx:
# 编辑 Nginx 配置
nano /opt/homebrew/etc/nginx/nginx.conf
在 server 块中修改:
server {
listen 8080;
server_name localhost;
# 设置项目目录
root /Users/alexwang/Sites;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 配置 PHP 处理
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
修改后保存,然后让Nginx重新加载配置
nginx -s reload
启动服务:
# 启动 PHP-FPM
brew services start php@8.3
# 启动 Nginx
brew services start nginx
# 查看运行状态
brew services list
WordPress
1. 下载并放置WordPress:
# 进入网站根目录
cd /usr/local/var/www
# 下载最新的WordPress压缩包
curl -O https://wordpress.org/latest.tar.gz
# 解压
tar -zxvf latest.tar.gz
# 这会在当前目录生成一个 wordpress 文件夹。
# 你可以将文件夹内容移动到根目录,或者直接将其作为站点目录。
# 简单起见,我们将内容移动到根目录覆盖:
mv wordpress/* .
# 设置必要的文件权限(让Web服务器能读写)
sudo chown -R :_www /usr/local/var/www
sudo chmod -R 755 /usr/local/var/www
2. 为WordPress创建数据库和用户
连接到MySQL,并执行以下SQL命令来创建数据库和用户:
mysql -u root -p
输入你之前设置的root密码后,进入MySQL命令行,然后执行(你可以自定义 database_name、username 和 password):
CREATE DATABASE database_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
EXIT;
请务必记录好你设置的数据库名、用户名和密码,下一步安装WordPress时会用到。
3. 完成WordPress安装
安装前必须确保启动了相关的服务
# 启动Nginx(根据提示,你已安装但可能未启动)
brew services start nginx
# 启动PHP-FPM
brew services start php
# 启动MySQL(如果你之前已安装)
brew services start mysql
打开浏览器,访问:
你应该会看到WordPress著名的五分钟安装界面。按照提示:
选择语言。
在数据库配置页,填入第4步中创建的 数据库名、用户名、密码。“数据库主机”填写 localhost,“表前缀”保持默认 wp_ 即可。
运行安装程序,设置你的网站标题、管理员用户名、密码和邮箱。
安装成功后,用你设置的管理员账号登录,就可以开始管理你的WordPress站点了。
安全提醒与后续建议
不要在生产环境中使用:此配置(root权限、默认端口等)仅为本地开发测试而设。要部署到公网,必须进行更严格的安全配置。
端口问题:如果访问 http://localhost:8080 失败,请确认Nginx确实在监听8080端口(可通过
权限问题:如果安装或更新WordPress插件/主题时提示需要FTP凭证,是因为Web服务器进程(_www)对文件的所有权不对。可以通过命令行进入目录执行 sudo chown -R _www /usr/local/var/www 来解决(但这会改变文件所有者,请根据情况使用)。
导入数据库
在 macOS 上为 WordPress 导入已有的 MySQL 数据库,先通过命令行将 .sql 文件导入到新创建的数据库中,然后修改WordPress的 wp-config.php 文件以匹配新的数据库信息。
1. 准备数据库文件
确认你的.sql备份文件(例如 my_wordpress_backup.sql )存放的位置。为方便操作,建议将其放在用户主目录(~)下,或在后续命令中使用文件的完整路径。
2. 登录MySQL并创建目标数据库
2.1 打开终端,登录MySQL。使用安装时设置的 root 密码:
mysql -u root -p
输入密码后,你会看到mysql>提示符。
2.2 创建一个新的、空数据库,用于存放导入的数据。请替换 my_wordpress_db 为你喜欢的数据库名(下文命令需保持一致):
CREATE DATABASE my_wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
使用 utf8mb4 字符集可确保完美兼容 WordPress 和所有语言字符。
2.3 创建专用用户并授权(推荐,比直接使用 root 更安全)。替换 wp_user 和 your_strong_password:
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON my_wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
2.4 退出MySQL命令行:
exit
3. 执行导入操作
在系统终端(非MySQL命令行)中,使用 mysql 命令导入。请替换 my_wordpress_db 和文件路径:
mysql -u root -p my_wordpress_db > ~/path/to/your/my_wordpress_backup.sql
-u root -p表示以root用户登录,会提示输入密码。my_wordpress_db是刚创建的空数据库名。- < 是重定向符号,表示将后面文件的内容导入到前面的数据库中。
~/path/to/your/my_wordpress_backup.sql是你的备份文件完整路径。一个实用技巧:在终端输入mysql -u root -p my_wordpress_db <后,直接将.sql文件拖拽到终端窗口,其完整路径会自动填充。
导入完成后终端通常无提示,直接返回命令符。
4. 验证导入成功
再次登录MySQL,检查数据是否已存在:
mysql -u root -p
在 mysql> 提示符下执行:
-- 切换到导入的数据库
USE my_wordpress_db;
-- 查看所有表,应该看到 wp_posts, wp_users 等WordPress表
SHOW TABLES;
-- 可以抽查一条数据
SELECT COUNT(*) FROM wp_posts;
如果看到表和数据,说明导入成功。
5. 修改 WordPress 配置文件
导入数据库后,必须让 WordPress 知道如何连接它。编辑网站根目录下的 wp-config.php 文件:
nano /opt/homebrew/var/www/wp-config.php
找到并修改以下四行,确保与第二步创建的信息完全一致:
// ** 数据库设置 - 具体信息来自您当前所用主机 ** //
define( 'DB_NAME', 'my_wordpress_db' ); // 第二步创建的数据库名
define( 'DB_USER', 'wp_user' ); // 第二步创建的数据库用户名
define( 'DB_PASSWORD', 'your_strong_password' ); // 第二步创建的数据库用户密码
define( 'DB_HOST', 'localhost' ); // 通常为localhost
保存并退出(Ctrl+O, Ctrl+X)。
6. 测试网站
在浏览器中访问 http://localhost:8080,你的 WordPress 网站现在应该能正常显示,并使用导入的数据运行了。
常见问题与技巧
导入失败或报错:
路径错误:使用拖拽文件到终端的方法可避免输入错误。
文件过大:可在导入命令中添加 --max_allowed_packet=512M 参数。
权限问题:确保备份文件有读取权限(chmod 644 backup.sql)。
网站显示“建立数据库连接时出错”:
100%是 wp-config.php 中的数据库信息填写错误,请仔细核对。
检查MySQL服务是否运行:brew services list | grep mysql。
方法3:MAMP或XAMPP
这些是集成开发环境,包含PHP、Apache和MySQL:
- [XAMPP](https://www.apachefriends.org/index.html): 完全免费
安装后,您可以在应用程序的控制面板中配置和启动PHP。
配置环境变量
安装后,如果在终端中运行php命令仍然提示command not found,您可能需要配置环境变量:
1. 打开或创建`~/.zshrc`文件(macOS 10.15及更高版本默认使用zsh):
nano ~/.zshrc
2. 在文件末尾添加PHP的安装路径(根据您的实际安装路径调整):
export PATH="/usr/local/php/bin:$PATH"
或者如果使用Homebrew安装:
export PATH="$(brew --prefix php)/bin:$PATH"
3. 保存文件并退出编辑器,然后运行以下命令使更改生效:
source ~/.zshrc
测试PHP安装
安装完成后,您可以创建一个简单的PHP文件来测试:
1. 创建一个名为test.php的文件,内容如下:
<?php
phpinfo();
?>
2. 在终端中运行:
php test.php
如果看到PHP的配置信息,说明PHP已成功安装并可以正常运行。
解决常见问题
- 如果在安装过程中遇到权限问题,请使用sudo命令(例如sudo brew install php)
- 如果使用Homebrew安装后仍然无法找到PHP命令,请尝试重启终端
- 对于macOS的beta版本,某些软件包可能需要特殊处理
完成安装后,您就可以执行PHP命令并运行我们之前创建的网站了。

遥想当年,苹果 M 芯片早期,俺也手搓了一回,全网没有什么资料,踩了好多坑,真难呐。https://www.cnblogs.com/duyuanshang/p/php_dev_m1.html
厉害哦,看完你的教程发现我好像少装了一个phpmyadmin 。。。
手搓环境厉害😂
手搓是为了更少的手搓
一句话概括一下,本地搭建WordPress环境可以干什么~😏
就是让你在自家客厅开一家“虚拟主题乐园”,既能炫技,又能搞砸了随时重来——反正没人围观你凌晨三点边骂边修网站的狼狈样子!😂
评论区都是有才人,只有我看不懂😂
你懂ASP就行了。。。😀
直接用XAMPP
XAMPP是Apache,而我服务器用的Nginx,担心出现与MAMP一样的情况:本地测试没问题,放服务器就出错。。。
配置和伪静态规则调一下,差不多的。
嗯,我先折腾一下现在这个,说不定哪天就把XAMPP装上了。。。
也遇到过这个问题,改动之后突然发现不合适了,又是折腾半天修复。😔
好久没看到你折腾了 😀
这配置方法lnmp差不多。
嗯,除了系统其它都一样的 😊
我 mac 上直接用的 php study,简单粗暴
啊,我在小皮官网没看到phpstudy macOS版,只有Windows版
好吧,刚又去官网看了,在旧版里面找到了!
之前只用过W版的,我试一下macOS版!
谢谢啦!☕
在本地修改测试完成之后再发布,可以减少很多不必要的麻烦。
嗯嗯,受教了!😊
我是服务器折腾,坏了就回滚重启服务器🤣
那样总是会麻烦一些,本地怎么折腾都不怕。