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
简单的cookie计数器实现源码
Jun 07 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
Jun 23 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
php blowfish加密解密算法
Jul 02 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
浅谈laravel框架与thinkPHP框架的区别
Oct 23 PHP
用php实现分页效果的示例代码
Dec 10 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类
2006/07/15 PHP
PHP的开合式多级菜单程序
2006/10/09 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php字符串过滤与替换小结
2015/01/26 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
Python中join和split用法实例
2015/04/14 Python
python获取文件扩展名的方法
2015/07/06 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
Python 给某个文件名添加时间戳的方法
2018/10/16 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
Python 绘制可视化折线图
2020/07/22 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
证婚人经典证婚词
2014/01/09 职场文书
科技活动周标语
2014/10/08 职场文书
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS