使用mac没多久,但是这个操作系统真的使用比Windows还舒心,但是有些地方又不如。所以做这个笔记记录自己踩天坑的日记
*文档结构:
-
1.前言
-
2.安装
-
3.遇到的一些问题及解决办法
-
4.总结
1.系统环境篇
MAMP环境搭建(Mac10.12+Apache24+MariaDB+PHP70)
1.1 前言(最大的坑点)
-
php系统自带是5.6,要弄成7.0+
-
apache 系统自带2.4,可以不用装,但是我brew重新安装了一个
php这是一个大坑 我卡这有3天左右时间,总共查找资料数不清楚了,但是总体分为3种安装方式
1.1.1 编译型安装(不推荐)
优点:
1.我只能说你能熟悉整个过程,然后我就真不知道还有撒了(就像你问我txt文本可以写代码不,我一样说可以的,但是有更好方法为毛不用。)
2.网上教程有四分之二,都是这种方法的安装资料,资料蛮多的
缺点:
1.最low的,最原始的方法
2.新手最容易出错,其中需要下一个语言转换编译器【根据终端提示去安装(可能还有其他需要的,具体看你终端的提示),然后去找】,在进行php7编译,然后各种参数,最后make 然后各种ln软链接,修改环境变量.
1.1.2 Homebrew安装(推荐)
优点:
1.就算不修改源,感觉也相当的快啊(我用了VPN)。当然你也可以修改源,我没有使用,因为速度够了,还有一点不舒服的是,我如果更换了源,使用 brew doctor他会提醒我 git(更新使用的那个)修改回来
2.本身提供的其实也是二进制编制,只是所有的东西他都帮你做了(你懂得)。
3.安装扩展很痛苦,参考很多帖子说去删除mac自带的PHP 我建议不要,就算后面你brew安装过多版本也可以共存的unlink,link选择即可 。而使用berw安装后你,他会帮你配置好环境变量
4.brew cask 可以安装MAC AppStore不提供的软件 ,比如webStorm
缺点:
1.brew自带的仓库没有自带PHP, 所以需要使用第三方仓库来做。(这段时间使用发现可以直接将官网下载的PHP 放入brew caches中直接安装)
1.1.3 脚本安装(推荐,升级自带的mac版本)
优点:
- 编译安装脚本化,真的是非常方便
缺点:
1.天朝网络感人。你懂得
2.其实就是卸载掉原先的,安装这个。
1.1.4 感谢小贺搭建php的总结笔记,以及下班途中拦截师父后提供的一个brew大概的运行机制思路。
2.开始搭建
系统环境总共搭建时间使用约5天左右【研究U盘装mac系统,重装系统4次,(3种PHP的安装方式+2种)^5 。】
别问我为毛这么蛋疼,强迫症使然,不这么玩,这笔记怎么出来?
2.1 brew
复制到你终端 他会使用ruby安装,mac自带ruby哦,这个很简单,没撒说的
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.1.1 几个位置
- brew所在位置
终端安装完成后有提示
- brew安装的文件所在位置
/usr/local/Cellar
- brew缓存文件所在的位置
/Users/my/Library/Caches/Homebrew
2.1.2 几个隐藏的命令(很爽的)
为什么叫隐藏,因为brew -h 没有说明,这些事可以去查看源码获取,说几个好用
-
brew tap --添加第三方的仓库
-
brew services list --查看启动的服务
这个是做好plist才会有哦。所以不是绝对的,还有很多,自己感兴趣可以研究下,顺带一说,有一个彩蛋哦
- brew commands --更多的一些命令
brew每天使用前,建议记得 update一下哦(网真的很重要)
2.2 apache
在mac中apache叫httpd,这点必须告诉一些才接触unix的同学
2.2.1 使用MAC自带的apache
使用命令可以方便知道你的版本号
httpd -v
配置文件在
/private/etc/apache2/httpd.conf
或者
/etc/apache2(这个就是上面的一个软连接,改谁都一样)
2.2.2 brew安装
1.查询仓库
brew tap
2.添加仓库
brew tap homebrew/apache
3.安装apache
brew install httpd24
安装完成后他会自动做好PATH
4.启动apache
sudo apachectl start
简单的区别方法就是原先自带的配置你给8080,brew 安装的你给80 你就知道启动的是哪个了
2.3 mariaDB
自己的理解:
-
1.mysql升级版,性能优于mysql还兼容mysql
-
2.因为MySQL之父是卖给SUN的,后被Oracle收购,甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。
可以去百度看看,蛮有趣,而且这个数据库是 MySQL之父以女儿的名字命名的 (感觉好暖啊)
1.查询下有没有这个啊
brew search mariadb
2.安装
brew install mariadb
3.运行配置(可选)
mysql_secure_installation
以下是问题 按需设置
> Set root password? [Y/n](为root用户设置密码)
> Remove anonymous users? [Y/n](删除匿名账号)
> Disallow root login remotely? [Y/n](取消root用户远程登录)
> Remove test database and access to it? [Y/n](删除test库和对test库的访问权限)
> Reload privilege tables now? [Y/n](刷新授权表使修改生效)
2.4 php
最坑的就是这个,mac还是brew时不时太瞧不起PHP了?版本不新不说,根本就没有。后来看了很多的资料,扩展是通过--with来安装,然后这个坑才跳过
按需自行添加修改(或者直接用)
brew install php70 --with-apache --with-cgi --with-debug --with-enchant --with-gmp --with-homebrew-curl --with-homebrew-libressl --with-homebrew-libxml2 --with-homebrew-libxslt --with-imap
3.遇到的问题
3.1. apache
- 问题1:
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
使用sudo 命令启动即可
或者
查看端口号是否被占用
3.2 mariaDB
- 问题1
严格意义来说 这个不是问题,只是每次需要自己启动服务器,你可以开机自己启动或者每次自己启动,所以我就这么玩了
-
ln -sfv /usr/local/opt/mariadb/*.plist ~/Library/LaunchAgents
-
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
or
- mysql.server start
3.3 php
*问题1:
最坑的就是原先没有安装扩展,
apache需加载的os没有生成,
自行编译的直接弄过去也不行,
4.总结
好久没有遇到这么大的坑了,耗费了太多的精力,写这篇文章的时候也是,
网友评论