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的论坛(2)
Oct 09 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
php 中文和编码判断代码
May 16 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
php动态生成函数示例
Mar 21 PHP
详谈PHP编码转换问题
Jul 28 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
浅析php-fpm静态和动态执行方式的比较
Nov 09 PHP
php中strtotime函数性能分析
Nov 20 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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数组及条件,循环语句学习
2012/11/11 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
javascript如何写热点图
2015/12/08 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
学习python (2)
2006/10/31 Python
python实现代理服务功能实例
2013/11/15 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
优秀幼教自荐信
2014/02/03 职场文书
财务部总监岗位职责
2014/03/12 职场文书
高中物理教学反思
2016/02/19 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python