MAMP环境搭建(Mac10.12+Apache24+MariaDB+PHP70)

使用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. 编译安装脚本化,真的是非常方便

缺点:

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)"

brew官网传送门

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

严格意义来说 这个不是问题,只是每次需要自己启动服务器,你可以开机自己启动或者每次自己启动,所以我就这么玩了

  1. ln -sfv /usr/local/opt/mariadb/*.plist ~/Library/LaunchAgents

  2. launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

or

  1. mysql.server start

3.3 php

*问题1:


最坑的就是原先没有安装扩展,

apache需加载的os没有生成,

自行编译的直接弄过去也不行,

4.总结


好久没有遇到这么大的坑了,耗费了太多的精力,写这篇文章的时候也是,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容