环境

  1. Homebrew
  2. Xcode命令行工具
  3. PHP 8.0
  4. Nginx
  5. MySQL

1.装置Xcode命令行工具

执行命令 Xcode-select --install

2.装置Homebew

拜访 Homebrew 官网,点击拜访官网

依照指引,装置Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent...

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
  1. 查找 daemonize
间接键入/daemonize
  1. 批改值为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;  ...}
  1. 批改默认入口文件

在index这一行中,退出index.php,将其也作为入口文件。

location / {    root   html;    index  index.html index.htm index.php;}
  1. 启用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;}
  1. 配置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.10built by clang 12.0.0 (clang-1200.0.32.29)built with OpenSSL 1.1.1k  25 Mar 2021TLS SNI support enabledconfigure 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指令退出到命令行窗口中的起因

解决办法:

  1. cd ~ 切换到用户目录
  2. 输出vim .bash_profile 关上命令行配置文件
  3. 输出export PATH=$PATH:/usr/local/mysql/bin
  4. 保留文件
  5. 运行source ~/.bash_profile加载配置文件
  6. 此时就能够顺利应用MySQL了

结尾

这篇教程次要目标是为了帮忙我记录下Mac零碎中配置环境的流程而写。不便我日后如果须要重装或者更换电脑的时候能够疾速将环境搭建实现。心愿这篇教程也能帮忙到你,谢谢。