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的PHP XML类
Oct 09 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 PHP
PHP时间格式控制符对照表分享
Jul 23 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php实现TCP端口检测的方法
Apr 01 PHP
php中memcache 基本操作实例
May 17 PHP
php强制下载文件函数
Aug 24 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
PHP判断一个数组是另一个数组子集的方法详解
Jul 31 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
php实现的表单验证类完整示例
Aug 13 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
缅甸的咖啡简史
2021/03/04 咖啡文化
PHP排序算法的复习和总结
2012/02/15 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
json 定义
2008/06/10 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
Javascript的this详解
2019/03/23 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
centos6.4下python3.6.1安装教程
2017/07/21 Python
Python实现的计数排序算法示例
2017/11/29 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
简单了解python模块概念
2018/01/11 Python
python实现求特征选择的信息增益
2018/12/18 Python
对python 调用类属性的方法详解
2019/07/02 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
Python远程linux执行命令实现
2020/11/11 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
施工安全责任书
2014/04/14 职场文书
初中生评语大全
2014/04/24 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript