mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)
题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去。之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了。
话说这个mbp,我还真没用多少,原因是刚买完没多久,公司电脑就下来了,加上当年各种软件都缺少mac版,用起来各种不顺手,后来也就搁置了。不过,最近发现,时隔几年,现在各种软件已经出了mac版,加之原生的linux系统,用起来还是挺爽的。
拿到新mbp,第一件事就是搭环境,话说最新版的macOS10.14系统已经内置好了apache、php7.16、git,真不愧是为广大开发们准备的本本啊。
不过为了更顺手,我没有启用自带的apache,而是安装了nginx,并且为了尝鲜,安装了最新版的php7.3+mysql8.0,事实证明,在尝鲜的同时,也要fix这些最新版带来的bug or 兼容。
在使用git时,遇到了点小坑,在咨询身边一圈儿及度娘无果的情况下,只好亲自操刀,将其fix掉。
1.先说php+nginx+mysql环境搭建,发现再也没有比这篇文章写的更全面的了,我就不再累述,直接放url:
Mac OS X 系统自带的 php-fpm 配置和 nginx、mysql 的安装
http://lzw.me/a/mac-osx-php-fpm-nginx-mysql.html
Mac brew安装redis
https://www.cnblogs.com/cloudshadow/p/mac_brew_install_redis.html
其间爬坑:
MAC下终端走代理的几种方法(比如公司内网环境下需要配置)
https://www.jianshu.com/p/30ffeff2ce53
访问本地php文件一直报404 file not found错误(已解决)
https://blog.csdn.net/u013957017/article/details/79819877
Mac自带PHP启动php-fpm问题解决
https://blog.csdn.net/zrainload/article/details/78962062?tdsourcetag=s_pcqq_aiomsg
mac用brew安装mysql,设置初始密码
https://www.jianshu.com/p/3996f6a2fa45?tdsourcetag=s_pcqq_aiomsg
mysql 8.0以上 新版本账号密码策略修改和密码修改
https://www.cnblogs.com/hellozg/p/9333052.html?tdsourcetag=s_pcqq_aiomsg
nginx环境配置--**拒绝了我们的连接请求
https://blog.csdn.net/Kano_W/article/details/79532004?tdsourcetag=s_pcqq_aiomsg
2.关于php7.3+mysql8.0兼容
php7.3 bug:Errors Installing Composer on macOS (JIT compilation Failed)
https://stackoverflow.com/questions/53690624/errors-installing-composer-on-macos-jit-compilation-failed?tdsourcetag=s_pcqq_aiomsg
mysql8.0之larave5.5l兼容:Laravel NO_AUTO_CREATE_USER 错误
https://blog.csdn.net/Dreamweaver9_0/article/details/81458307
遇到 MySQL 8.0.11 的一些坑
https://laravel-china.org/articles/10736/some-craters-in-mysql-8011
另外,mysql8.0强制表必须有主键,所以对于没有主键的表,要先建立主键。
3.关于启动php+nginx+mysql+redis
第一种,可以像第一篇文章中说的那样,将这些功能加入到开机启动命令里。
我选择了第二种,也就是将这些命令写成一个shell脚本,这样不必每次开机都启动这些,在需要启动时,执行一下sh就好了。
通过shell脚本启动Nginx、Mysql、PHP服务
http://www.findme.wang/blog/detail/id/237.html
shell 自动重启nginx php shell脚本
https://blog.csdn.net/u010098331/article/details/50855983?utm_source=blogxgwz3
4.关于git
说起git,还真是一波三折,前边说过,mac已经自带了git,简单配置下,就可以pull下来代码,可是在commit的时候,一直提示未配置name和email,配置时,又提示没有.gitconfig权限,在分别问了度娘、身边小伙伴、IT gg依然无果后,惆怅了半天,忽然灵机一动:这不是个软链接嘛,我把软链接删除试试,苍天啊,果然删除后可以了!后来又一想,这不一直提示文件夹不存在嘛,我在home(~)目录下建立一个叫dotfiles的文件夹试试,果然,这一招也管用!原来,mac下虽然已经加好了各种.配置文件的dotfiles目录软链接,却没有这个文件夹,所以一直无法配置.文件!
➜ php_proj git:(dev_20181107_exam) ✗ git config --global user.name "zhangsan"
error: 不能锁定配置文件 /Users/zhangsan/.gitconfig: No such file or directory
➜ ls -la ~
lrwxr-xr-x 1 zhangsan staff 19 12 21 22:35 .gitconfig -> dotfiles/.gitconfig
5.其它工具:phpstorm、TextWrangler、navicat、sourceTree、laravel、dotfiles、php-version
mac下PHPStorm2018.2破解教程
https://blog.csdn.net/wm9028/article/details/82700221
另外,mac下没有notepad++,推荐另外一款文本编辑器:TextWrangler
Mac 下 MySQL 5.7 连接 navicat 中文乱码问题终极解决方案
https://blog.csdn.net/chenyubo1996/article/details/52040487
SourceTree - A free Git & Mercurial client for Windows or Mac
https://www.sourcetreeapp.com/
Laravel 的开发环境 Valet
https://laravel-china.org/docs/laravel/5.5/valet/1286
Mac下安装Laravel
https://www.jianshu.com/p/5b0718f1fe93
dotfiles新手教程
https://www.jianshu.com/p/7UJapk
dotfiles入门
https://www.jianshu.com/p/b88435465d23
mac下使用php-version快速切换php版本
https://blog.csdn.net/tiansidehao/article/details/78982164
6. 后记:
a. 考虑将此安装过程打包成可一键安装的shell脚本 or docker环境
b. brew安装的php7.3中,已自带了GD库的freetype扩展,可以用来生成水印
7. 感谢小伙伴推荐,发现已经有现成的php docker环境啦——Laradock
[ Laravel 5.5 文档 ] 快速入门 —— 使用 Laradock 搭建基于 Docker 的 PHP 开发环境
https://laravelacademy.org/post/7691.html
Laradock配置安装踩坑
https://blog.csdn.net/f2130793/article/details/82179716
mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)的更多相关文章
- MAC开发环境安装
MAC开发环境安装 安装sancha cmd: 安装: https://www.sencha.com/products/extjs/cmd-download/ cmd运行 $ open .bash_p ...
- JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建
Java介绍及其平台.开发环境的配置与搭建 1.Java的介绍 Java是一种面向对象的编程语言,具有跨平台.可移植.分布式.简单.可扩展等诸多特性.Java能够进行桌面应用.Web应用.分布式系统及 ...
- Python For Mac 开发环境安装 以及问题记录
Python For Mac 开发环境安装记录 把自己安装的过程记录一下,亲测可用 1.Python3环境安装(转载http://www.cnblogs.com/meng1314-shuai/p/90 ...
- 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的
在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II
接着上一节继续搭建我们的LNMP平台,接下来我们安装PHP相关的服务 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5- ...
- [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySQL+PHP) Part IV
接下来我们去下载 WorePress 用最新的 3.7.1 下载地址是:http://cn.wordpress.org/wordpress-3.7.1-zh_CN.zip 我们先建立一个文件夹 /va ...
- react-native —— 在Mac上配置React Native Android开发环境排坑总结
配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...
- 1.OpenGL mac开发环境搭建记录
1.安装GLEW 和GLFW,转摘至:https://www.cnblogs.com/pretty-guy/p/11357793.html 2.开始测试,整个工程报错,关键信息如下: code sig ...
- 分享下mac安装xamarin跨平台开发环境的坑
之前在vs2015上安装好了xamarin环境,考虑到调试IOS仍然需要mac机,昨天决定直接在mac上安装xamarin. 安装完所有的效果如上图,此时已经可以创建安卓和IOS环境. 我安装过程中, ...
随机推荐
- iOS:一个Cell中设置另外一个Cell中的button
场景: 子类化Cell中有button,拥有选中式样,点击第一个Cell中的button后,Cell一中的button获得选中式样.可是当点击Cell二中的button时.Cell一中的button选 ...
- 脱星摘帽刺激 ST板块表现出众
年报及业绩预告不断公布,在脱星摘帽.资产重组等一系列利好的刺激下,ST板表现出众.随着上市公司2015年财报披露的推进,*ST公司的命运也将浮出水面,近日多家有望“摘帽”的公司大多都走出了不错的行情, ...
- [原创]FreeSWITCH实现多人来电思路
[原创]FreeSWITCH实现多人来电思路 场景介绍 该篇文章主要用于介绍如何使用FreeSWITCH实现通讯系统中常见的多人来电功能. 具体场景如下: A与B正在通话中,此时C拨打A/B,Free ...
- flink checkpoint 源码分析 (一)
转发请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/8029356.html checkpoint是Flink Fault Tolerance机制的重要构成 ...
- Django学习之URLconf
Django处理request的步骤: 1.确定根URLconf 2.载入urls.py,找到变量urlpatterns,urlpatterns是django.conf.urls.url()的实例对象 ...
- C 调用 lua 函数
C 调用 lua 函数 需要考虑的问题: 1. 使用 lua_pcall 可以调用 lua 函数,首先把 lua 函数入栈,然后把参数入栈, lua_pcall(luaState, 参数个数, 返回值 ...
- vue 声明响应式属性
声明响应式属性 由于vue不允许动态添加根级响应式属性,所以你必须在初始化实例前声明根级响应式属性,哪怕只是一个空值: var vm = new Vue({ data: { // 声明 message ...
- linux嵌入式大神的博客文章---持续更新中
linux kernel子系统相关博客:http://www.wowotech.net/ 经典博文: http://blog.csdn.net/zqixiao_09 http://blog.china ...
- 2017 Wuhan University Programming Contest (Online Round) B Color 树形dp求染色方法数
/** 题目:Color 链接:https://oj.ejq.me/problem/23 题意:给定一颗树,将树上的点最多染成m种颜色,有些节点不可以染成某些颜色.相邻节点颜色不同.求染色方法数. 思 ...
- String类和StringBuilder
1,首先,明确一点,String对象是不可变的,这个不可变的意思是说:任何看起来修改String值的方法,实际上都是创建了一个新的String对象. 2,String对+号操作符进行了重载,而这个重载 ...