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 相关文章推荐
COM in PHP (winows only)
Oct 09 PHP
PHP APC的安装与使用详解
Jun 13 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
php判断是否为json格式的方法
Mar 04 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
php实现的AES加密类定义与用法示例
Jan 29 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
tp5.1 框架查询表达式用法详解
May 25 PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 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
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
js二级地域选择的实现方法
2013/06/17 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
理解Python中的绝对路径和相对路径
2017/08/30 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
Python中property函数用法实例分析
2018/06/04 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
sort命令的作用和用法
2012/11/04 面试题
会计做账心得体会
2016/01/22 职场文书