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 5.0 Pear安装方法
Dec 06 PHP
PHP Stream_*系列函数
Aug 01 PHP
thinkphp的URL路由规则与配置实例
Nov 26 PHP
分享十款最出色的PHP安全开发库中文详细介绍
Mar 22 PHP
PHP HTTP 认证实例详解
Nov 03 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 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函数 serialize()和unserialize()
2012/02/04 PHP
php中Ctype函数用法详解
2014/12/09 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
浅析vue深复制
2018/01/29 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
python使用代理ip访问网站的实例
2018/05/07 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
python实现剪切功能
2019/01/23 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
vue路由实现登录拦截
2021/03/24 Vue.js
传播学专业毕业生自荐书
2014/07/01 职场文书
放飞理想演讲稿
2014/09/09 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
考试作弊检讨书
2015/01/27 职场文书
老干部座谈会主持词
2015/07/03 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
军训后的感想
2015/08/07 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
PyTorch中的torch.cat简单介绍
2022/03/17 Python