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 相关文章推荐
PHP中创建并处理图象
Oct 09 PHP
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
Sep 23 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
php生成动态验证码gif图片
Oct 19 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
May 05 PHP
laravel orm 关联条件查询代码
Oct 21 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
PHP常用header头定义代码示例汇总
Aug 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中处理模拟rewrite 效果
2006/12/09 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
自动更新作用
2006/10/08 Javascript
jQuery的一些注意
2006/12/06 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
python lambda的使用详解
2021/02/26 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
大学生党课思想汇报
2013/12/29 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
公司委托书格式范文
2014/04/04 职场文书
英语感谢信范文
2015/01/20 职场文书
教师节慰问信
2015/02/15 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
delete in子查询不走索引问题分析
2022/07/07 MySQL