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 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
php注册登录系统简化版
Dec 28 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
Jul 04 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
详解PHP中curl_multi并发的实现
Jun 08 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
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
js window.event对象详尽解析
2009/02/17 Javascript
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
JsRender实用入门教程
2014/10/31 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
bootstrap中的 form表单属性role="form"的作用详解
2017/01/20 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
python中的逆序遍历实例
2019/12/25 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
财务管理个人自荐书范文
2013/11/24 职场文书
办理退休介绍信
2014/01/09 职场文书
环保标语大全
2014/06/12 职场文书
领导班子四风表现材料
2014/08/23 职场文书
校长师德表现自我评价
2015/03/05 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android