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://*.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

上一篇:在Linux中使用vi打开文件时如何显示行号,及跳转到指定行


下一篇:一个编程菜鸟的进阶之路(C/C++)