环境
- Homebrew🍺
- Xcode命令行工具
- PHP 8.0
- Nginx
- MySQL
1.安装Xcode命令行工具
执行命令 Xcode-select --install
2.安装Homebrew
访问 Homebrew 官网,点击访问官网
按照指引,安装Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew常用指令
- 安装package
brew install 包名
- 卸载package
brew uninstall 包名
- 检查package的信息
brew info 包名
- Homebrew升级
sudo brew update
- Homebrew搜索package
brew search 包名
- 检视已安装的package
brew list
3.使用Homebrew安装Nginx
- 安装Nginx
sudo brew install nginx
- 启动Nginx
nginx
安装&启动完成后,从浏览器中输入localhost:8080
即可访问到Nginx服务器的欢迎页面
- 关闭Nginx
nginx -s sotp
- 重启Nginx
nginx -s reload
- 查看Nginx版本
nginx -v
4.安装PHP 8.0
我作为一个从5.5时代就开始做php开发的开发者,也是第一次使用8.0的稳定版。直接一步到位的原因是:更好的语法&JIT的支持,希望能够在8.0时代获得更好的性能。因此本教程,将会采用8.0版本的PHP进行安装。
- 使用Homebrew安装PHP
brew install php
如果需要特定版本的php则包名改为`php@指定的版本号`即可
- 启动&重启
php-fpm
- 强制关闭
php-fpm
sudo pkill -INT -o php-fpm
5.配置PHP
- 进入php配置文件夹
通过brew info找到php配置文件的位置brew info php
- 编辑php.ini文件
vim php.ini
- 守护PHP进程
默认安装的PHP仅仅会在前台运行,如果此时我们关闭命令窗口的话,php-fpm将会自动关闭,无法继续处理我们的php请求。
开启 `守护模式` 即可解决这一问题
1. 配置php-fpm.conf
vim php-fpm.conf
2. 查找 daemonize
直接键入/daemonize
3. 修改值为yes
并且保存daemonize = yes
虽然注释处,写了默认值应该为yes
,但是不知道是什么原因,导致了默认值是no
。
- 安装php拓展
通过Homebrew安装的php,自带了pecl
。这是一个php拓展的包管理器,后续的拓展安装,仅仅需要通过该管理器安装即可。一般开发用不到,主要是用于实现加密或者网络的时候,可能需要通过该tab来安装
pecl version 查看版本信息
pecl help 可以查看命令帮助
pecl search xdebug 搜索可以安装的扩展信息
pecl install xdebug 安装扩展
pecl install http://pecl.php.net/get/redis-4.2.0.tgz 安装指定版本扩展
6.配置Nginx
- 通过
brew info
找到Nginx的配置目录 - 打开nginx.conf
vim nginx.conf
1. 修改启动端口为80
- 找到
listen
关键词
server{ listen 8080; // Nginx需要监听的接口 server_name localhost; ... }
- 修改为80端口
server{ listen 80; // Nginx需要监听的接口 server_name localhost; ... }
2. 修改默认入口文件
在index这一行中,加入index.php
,将其也作为入口文件。
location / { root html; index index.html index.htm index.php; }
3. 启用php流量转发
找到location ~.php$
关键词,将注释删掉(删掉代码前面的’#’),启用php流量转发
location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }
4. 配置php流量转发规则
修改location ~.php$
中的fastcgi_param
配置项
将其从SCRIPT_FILENAME /scripts$fastcgi_script_name
修改为SCRIPT_FILENAME $document_root$fastcgi_script_name
Nginx常用命令
- 查看报错文件的路径
nginx -V
nginx version: nginx/1.19.10 built by clang 12.0.0 (clang-1200.0.32.29) built with OpenSSL 1.1.1k 25 Mar 2021 TLS SNI support enabled configure arguments: ... --error-log-path=/opt/homebrew/var/log/nginx/error.log ...
找到error-log-path
关键字,后面的值即为错误报告的地址。
使用tail -f 文件名
查看即可。
- 检查配置文件正确性
nginx -t
- 检查Nginx进程运行状态
ps -aux | grep nginx
7.验证PHP环境
- 启动
Nginx
服务器 - 启动
php-fpm
服务 - 通过
brew info nginx
查询网页根目录 - 在网页根目录下创建
index.php
index.php
代码:
<?php phpinfo(); ?>
- 通过浏览器访问
http://localhost/index.php
若出现PHP Version + 版本号 以及 php相关的信息则安装完成
8.安装MySQL
- 访问官网下载
dmg
安装包,点击访问
我当前的系统版本是BigSur,如果你是Catalina也是兼容的,下载最新版就好了。
- 点击”No thanks, just start my download.”开始下载即可
- 下载完成,解压双击运行pkg即可,按照步骤执行即可
管理MySQL
- 通过访问
系统偏好设置
的MySQL即可管理MySQL服务
- 通过GUI管理服务的启停
通过命令行管理MySQL
- 查看MySQL版本
mysql -v
- 登录MySQL服务器
mysql -u 用户名 -p
出现`Enter password`后输入你的密码回车,即可登录MySQL服务器。
- 登出MySQL服务器
exit
通过phpMyAdmin管理MYsql
- 访问官网下载phpMyAdmin即可,点击访问
- 下载完成后,将phpmyadmin文件夹拖入网站根目录
- 通过浏览器访问
http://localhost/phpmyadmin
即可
常见问题
- 执行mysql显示
command not found: mysql
这是由于没有将mysql指令加入到命令行窗口中的原因
解决方法:
cd ~
切换到用户目录- 输入
vim .bash_profile
打开命令行配置文件 - 输入
export PATH=$PATH:/usr/local/mysql/bin
- 保存文件
- 运行
source ~/.bash_profile
加载配置文件 - 此时就可以顺利使用MySQL了
结尾
这篇教程主要目的是为了帮助我记录下Mac系统中配置环境的流程而写。方便我日后如果需要重装或者更换电脑的时候可以快速将环境搭建完成。希望这篇教程也能帮助到你,谢谢。