Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境


Posted in PHP onMarch 29, 2021

之前刚装好了 HomeBrew ,接下来就要安装 环境了。

注意:如果 brew install 出以下错误, 则安装时使用 arch -arm64 brew install 软件包名 进行安装

Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境

安装 Nginx 

brew install nginx

Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境

安装成功后,通过 brew info nginx ,查看 nginx 信息,最主要是看 网站根目录与配置文件目录。(默认为 8080 端口)

 php-fpm 解析 php

# 终端
vim /opt/homebrew/etc/nginx/nginx.conf
  
# 在文件内 http{} 中新增
location ~ \.php$ {
 root   html;
 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
# nginx 常用命令
  
sudo nginx # 启动
sudo -s reload # 重新加载配置
sudo -s reopen # 重启
sudo -s stop # 停止
sudo -s quit # 退出

安装 MySQL

首先搜索是否包含想要安装的 mysql 版本, 这里以 mysql@5.7 为例

Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境

安装成功

Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境

 添加 MySQL 环境变量

# 终端
echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
  
# 刷新 ~/.zshrc
source ~/.zshrc

查看当前版本

mysql --version

安装PHP 

首先搜索是否包含想要安装的 php 版本, 这里以 php5.6 为例

brew search php

执行 brew search php 后发现没有 php5.6, 解决方法就是 tap 一下。

Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境

tap一下

brew tap shivammathur/php

解压至 /opt/homebrew/Library/Taps/shivammathur/homebrew-php (不存在则需要手动创建目)如果 tap 超时, 则用浏览器打开 https://github.com/shivammathur/homebrew-php , 下载压缩包

完成后就可能找到 php5.6 版本了

Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境

安装php5.6,耐心等待安装完成

brew install shivammathur/php/php@5.6

 添加PHP环境变量

# 终端
vim ~/.zshrc
  
# 新增
export PATH="/opt/homebrew/opt/php@5.6/bin:$PATH"
export PATH="/opt/homebrew/opt/php@5.6/sbin:$PATH"
  
# 终端 刷新 ~/.zshrc
source ~/.zshrc

安装 brew-php-swither PHP版本切换工具

brew install brew-php-switcher

切换版本

# brew-php-switcher 版本号
brew-php-switcher 5.6

查看当前版本

php -v

 

PHP 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
PHP 文件类型判断代码
Mar 13 PHP
小文件php+SQLite存储方案
Sep 04 PHP
基于php 随机数的深入理解
Jun 05 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
php上传图片并压缩的实现方法
Dec 22 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
Laravel实现ApiToken认证请求
Oct 14 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 PHP
Laravel中Kafka的使用详解
Mar 24 #PHP
thinkphp5 redis缓存新增方法实例讲解
php优化查询foreach代码实例讲解
Mar 24 #PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 #PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 #PHP
YII2 全局异常处理深入讲解
Laravel的加密解密与哈希实例讲解
Mar 24 #PHP
You might like
php array_filter除去数组中的空字符元素
2020/06/21 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
node.js中express-session配置项详解
2017/05/31 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
python修改操作系统时间的方法
2015/05/18 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
创业计划书六个要素
2013/12/26 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
党员民主评议个人总结
2014/10/20 职场文书
2019销售早会主持词
2019/06/27 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
Python闭包的定义和使用方法
2022/04/11 Python