题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去。之因此用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,何况个人新电脑,也终于下来了。php
话说这个mbp,我还真没用多少,缘由是刚买完没多久,公司电脑就下来了,加上当年各类软件都缺乏mac版,用起来各类不顺手,后来也就搁置了。不过,最近发现,时隔几年,如今各类软件已经出了mac版,加之原生的linux系统,用起来仍是挺爽的。html
拿到新mbp,第一件事就是搭环境,话说最新版的macOS10.14系统已经内置好了apache、php7.1六、git,真不愧是为广大开发们准备的本本啊。
不过为了更顺手,我没有启用自带的apache,而是安装了nginx,而且为了尝鲜,安装了最新版的php7.3+mysql8.0,事实证实,在尝鲜的同时,也要fix这些最新版带来的bug or 兼容。
在使用git时,遇到了点小坑,在咨询身边一圈儿及度娘无果的状况下,只好亲自操刀,将其fix掉。mysql
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_aiomsglinux
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强制表必须有主键,因此对于没有主键的表,要先创建主键。nginx
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=blogxgwz3laravel
4.关于git
提及git,还真是一波三折,前边说过,mac已经自带了git,简单配置下,就能够pull下来代码,但是在commit的时候,一直提示未配置name和email,配置时,又提示没有.gitconfig权限,在分别问了度娘、身边小伙伴、IT gg依然无果后,惆怅了半天,突然灵机一动:这不是个软连接嘛,我把软连接删除试试,苍天啊,果真删除后能够了!后来又一想,这不一直提示文件夹不存在嘛,我在home(~)目录下创建一个叫dotfiles的文件夹试试,果真,这一招也管用!原来,mac下虽然已经加好了各类.配置文件的dotfiles目录软连接,却没有这个文件夹,因此一直没法配置.文件!git
➜ 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/.gitconfigredis
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/78982164sql
6. 后记:
a. 考虑将此安装过程打包成可一键安装的shell脚本 or docker环境
b. brew安装的php7.3中,已自带了GD库的freetype扩展,能够用来生成水印docker
7. 感谢小伙伴推荐,发现已经有现成的php docker环境啦——Laradock
[ Laravel 5.5 文档 ] 快速入门 —— 使用 Laradock 搭建基于 Docker 的 PHP 开发环境
https://laravelacademy.org/post/7691.html
Laradock配置安装踩坑
http://www.javashuo.com/article/p-orkkopaj-dy.html