[http://www.cnblogs.com/redirect/p/6131751.html]

网上有很多文章都是错误的,因为是copy别人的,作者没有自己亲测,不仅不能给新手提供帮助,还会产生严重的误导,以下介绍是我不断的爬坑,亲测的一篇可用教程,,希望能对大家提供些许帮助(Mac版本是sierra),转载请注明出处

一.apache使用的mac自带

基本使用方法:
  启动Apache:运行“sudo apachectl start”
  停止Apache:运行“sudo apachectl stop”,
  查看Apache:版本:运行“sudo apachectl -v”,
  重启Apache:运行“sudo apachectl restart”
相关目录

  apache 日志位置 /private/var/log/apache2/error_log
  apache配置主文件 /etc/apache2/httpd-conf
  apache的vhost配置 /etc/apache2/extra/httpd-vhost.conf

二.安装php7.0

1>使用 brew doctor 可以检查你的brew运行情况
2>添加brew的PHP扩展库:(mac os 比较歧视PHP,不包含PHP的包,那么我们就要绑定其他人的git仓库,用法是$ brew tap <gihhub_user/repo>)
  brew update
  brew tap homebrew/dupes
  brew tap homebrew/php
  
  (有些地方使用brew tap josegonzalez/homebrew-php或者brew tap josegonzalez/php,我去josegonzalez的仓库看了下都是fork的homebrew的仓库,所以我认为有上面两个仓库够用了,就不写osegonzalez的了)
  可以使用brew options php70命令来查看安装php的选项,请注意:如果你希望以mac下的apache作为web server,编译时要加 --with-apache;如果你的web server 是 nginx这类,就需要加上 --with-fpm。这里我用下面的选项安装
brew install php70 --with-apxs2  --with-apache --with-gmp --with-imap --with-tidy --with-debug
 
  下面提个坑,--with-apache这个要带上,否则macos sierra系统在安装php7的时候不会产生相应的libphp7.so模块
然后将下载的apache卸载,方法是
  brew list //查看都安装了哪些
  brew uninstall //卸载相应的模块
  brew cleanup -s //清除缓存和老旧版本文件
 
  brew link php70 //开启PHP70进程
  php -v //测试是否成功
 
  当你安装完之后,输入
  brew info php70
  打出来的信息我放在了文章末尾,这些话很重要,请仔细阅读
 
3>修改apache配置文件
  打开配置文件
    sudo vim  /etc/apache2/httpd.conf
  先将下面两句注释掉
    #LoadModule php5_module libexec/apache2/libphp5.so
    #Include /private/etc/apache2/other/*.conf 这行
  然后增加下面三项,注意关于libphp7.so的地址请写你自己的
    LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
 
    <FilesMatch .php$>
      SetHandler application/x-httpd-php
    </FilesMatch>
 
    <IfModule php7_module>
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
      <IfModule dir_module>
        DirectoryIndex index.html index.php
      </IfModule>
    </IfModule>
  
以下提及下关于php版本切换问题,如果不关心请略过这段,配置完再看
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  libphp5.so和libphp7.so模块控制着我们apache使用的php版本,比如你还装了php56
  那么配置文件中再加上以下内容
    #LoadModule php5_module  /usr/local/opt/php56/libexec/apache2/libphp5.so 
    <IfModule php5_module>

      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
      <IfModule dir_module>
        DirectoryIndex index.html index.php
      </IfModule>
    </IfModule>
   控制apache选择的php版本,那么libphpX.so模块我们只能选择一个,剩下的注掉,这里我们使用php7,所以将关于libphp5.so这句注释掉,如果你使用php56版本,那么就反过来操作
  分析下brew unlink 和brew link的作用,这里的操作别不能改变apache选择的php版本,但是可以控制我们终端中的版本,我们使用brew安装时已经自动将执行程序软连接到/usr/local/bin下
  
  如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,
  在终端输入 echo $PATH ,得到我自己PATH变量如下
    /usr/local/bin:/usr/local/sbin:/usr/local/Cellar/git/2.10.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
  这里/usr/local/bin优先级最高,并且brew link phpxx 命令已经将相应php版本软连接到此目录下了,所以我们使用终端php -v 就可以查看相应版本了
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
4>添加系统环境变量PATH来方便我们的使用
  进入配置文件
    sudo vim ~/.bash_profile
  将以下内容加入到路径中,注意/usr/local/bin在/usr/local/sbin之前
    export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"    
    export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
  然后更新系统资源使之生效
    source ~/.bash_profile
  注意:
    <1>如果你用的是zsh,那么你加入的配置文件是 ~/.zshrc
    <2>关于export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"  这句,实际上我们使用brew安装时已经自动将执行程序软连接到/usr/local/bin下了,所以使用终端时选择的php版本就是brew的版本,可以不写这句
    
  关于路径的分析传送门:环境变量PATH分析
 
5>测试apache是否支持php70
  输入 php -v 查看你当前的php版本
  在apache默认目录(/Library/WebServer/Documents)下新建info.php,内容如下
    <?php
      phpinfo();
    ?>
  重启apache服务
    apache sudo apachectl restart
  在浏览器输入localhost/info.php 当画面出现的一刻,简直是热泪盈眶
 
  如果不知道怎么配置项目请点击: apache站点配置传送门

三.安装mysql

1>安装mysql
    brew install mysql
 
2>查看mysql安装信息
    brew info mysql
  我们可以看到下面的一段话
 
#######brew info mysql命令后的提示#######
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
 
To connect run:
mysql -uroot
 
To have launchd start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
mysql.server start
#######brew info mysql命令后的提示#######
 
  那么我们就按照提示操作,输入以下命令
    mysql_secure_installation
  接下来就是按照提示操作,设置密码
  然后决定是否要开机运行mysql,如果需要的话就运行
     brew services start mysql
  不需要的话就在使用的时候运行
    mysql.server start
3>连接mysql
  没有密码
    mysql -uroot
  如果你有密码
    mysql -uroot -p
  运行一个命令试试
    show databes;
  结果出来如下,
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
 
  进入mysql命令之后退出的方法
    exit
 
4>图形工具使用的是navicat(破解版)

四.安装redis

1>使用brew安装redis
    brew install redis
 
2>查看安装信息
    brew info redis
  可以看到以下信息
##########brew info redis显示信息#########
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don't want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
##########brew info redis显示信息#########
 
  如果你想要开机自启动那么
    brew services start redis
  如果你想使用的时候再启动
    redis-server /usr/local/etc/redis.conf
 
3>启动redis,出现以下画面证明安装成功了
4>在终端打开新的窗口使用客户端功能
  command+n组合按键打开一个新的窗口
  使用redis-cli命令启动redis客户端
    redis-cli
  使用举例
  如果想终止redis
    redis-cli shutdown
 
备注:我使用的是laravel框架,不用自己去考虑php7的redis扩展问题

附录

########brew info php70 命令后的信息###########
==> Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
 
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
 
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
 
The php.ini file can be found in:
/usr/local/etc/php/7.0/php.ini
 
✩✩✩✩ Extensions ✩✩✩✩
 
If you are having issues with custom extension compiling, ensure that
you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:
 
PATH="/usr/local/bin:$PATH"
 
PHP70 Extensions will always be compiled against this PHP. Please install them
using --without-homebrew-php to enable compiling against system PHP.
 
✩✩✩✩ PHP CLI ✩✩✩✩
 
If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc,
~/.zshrc, ~/.profile or your shell's equivalent configuration file:
 
export PATH="$(brew --prefix homebrew/php/php70)/bin:$PATH"
 
GMP has moved to its own formula, please install it by running: brew install php70-gmp
 
✩✩✩✩ FPM ✩✩✩✩
 
To launch php-fpm on startup:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php70/homebrew.mxcl.php70.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
 
The control script is located at /usr/local/opt/php70/sbin/php70-fpm
 
OS X 10.8 and newer come with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /usr/local/sbin is before /usr/sbin in your PATH:
 
PATH="/usr/local/sbin:$PATH"
 
You may also need to edit the plist to use the correct "UserName".
 
Please note that the plist was called 'homebrew-php.josegonzalez.php70.plist' in old versions
of this formula.
 
With the release of macOS Sierra the Apache module is now not built by default. If you want to build it on your system
you have to install php with the --with-apache option. See brew options php70 for more details.
 
To have launchd start josegonzalez/php/php70 now and restart at login:
brew services start josegonzalez/php/php70
 
 ########brew info php70 命令后的信息###########
 
 

mac攻略(4) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)的更多相关文章

  1. mac攻略(五) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)

    前面介绍过基本的配置,后来我又从网上查找了很多资料,经过不断的摸索,下面做了一个总结,希望能对大家提供些许帮助(Mac版本是sierra)   一.mac系统会自带git,而我们要做的是自己安装git ...

  2. Mac OS安装Go语言及配置VSCode开发环境:一个工具(gopls)解千愁

    前言 截止到目前为止,Go语言已经更新到1.14.1,网上的很多教程均已经过时,我在此汇总并整理一下相关的教程,提供一个适合当下的Mac OS教程. 教程中使用了Go在1.11之后推出的依赖包管理工具 ...

  3. IIS 7完全攻略之日志记录配置(摘自网络)

    IIS 7完全攻略之日志记录配置 作者:泉之源 [IT168 专稿]除了 Windows 提供的日志记录功能外,IIS 7.0 还可以提供其他日志记录功能.例如,可以选择日志文件格式并指定要记录的请求 ...

  4. MAC 下用 brew 搭建 PHP 开发环境

    Mac下用brew搭建PHP(LNMP/LAMP)开发环境 Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且 ...

  5. Windows服务器安装配置PHP7.0环境图文教程

    摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...

  6. Windows2016的 IIS中配置PHP7运行环境

    Windows2016的 IIS中配置PHP7运行环境 在Windows 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 .进入控制面板>>程序和功能>>打开或 ...

  7. Mac配置Java开发环境

    笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...

  8. Mac上通过docker配置PHP开发环境

    这篇文章介绍的内容是关于Mac上通过docker配置PHP开发环境,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu. ...

  9. macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)

    macOS 中已经内置了 PHP.Python.Ruby.Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便.本文以最新的 macOS Sierra 10.12 配 ...

随机推荐

  1. 【深度学习系列】PaddlePaddle可视化之VisualDL

    上篇文章我们讲了如何对模型进行可视化,用的keras手动绘图输出CNN训练的中途结果,本篇文章将讲述如何用PaddlePaddle新开源的VisualDL来进行可视化.在讲VisualDL之前,我们先 ...

  2. Fontawesome字体使用说明及其常用效果语法

    标签: 字体图标iconfontawesom Font web开发(17) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 本文主要介绍如何在我们的站点里引入Footaweso ...

  3. 阿里云部署SSL证书详解

    http://mp.weixin.qq.com/s/NV7Zad4DVEgzG2GCHYJVLw 查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书,虽然安装过程可 ...

  4. 【开发技术】eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法

    要格式化代码的时候,右键-source-format能够起效,但ctrl+shift+f不好使了. 原来是和“简繁体快捷键”冲突了.输入法中的这个快捷键我们一般不用,小勾勾去掉就成了. eclipse ...

  5. [知了堂学习笔记]_css3特效第一篇--旋转的背景&翻书效果

    一.html遮盖层与css3的旋转动画 >效果图(加载可能会慢一点儿,请稍等...): >实现思路:在一个大的div中装入一个底层img和顶层的div(里面的内容按照以上图片呈现的样式布局 ...

  6. 20165206学习基础和C语言基础调查

    - 技能 我的一项可以拿的出手的技能是萨克斯.但不敢说有多厉害,更不敢说比大多数人更好,只能说是还可以.我学萨克斯有5年左右的时间吧,这5年里印象最深刻的还是前两年.前两年主要是基础训练.我从最基础的 ...

  7. JavaScript的三种类型检测typeof , instanceof , toString比较

    1.typeof typeof是js的一个操作符,在类型检测中,几乎没有任何用处. typeof 返回一个表达式的数据类型的字符串,返回结果为javascript中的基本数据类型,包括:number. ...

  8. 图表工具--- ECharts.js学习(一) 简单入门

    ECharts.js学习(一) 在项目开发的时候,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库.具体有哪几种可以看: 前端开发者常用的9个JavaScript图表库 EChar ...

  9. (1-2)SpringCloud:服务的消费者rest+ribbon

    服务发现的任务是由Eureka客户端完成,而服务的消费任务由Ribbon完成.Ribbon是一个基于HTTP和TCP的客户端负载据衡器,它可以通过客户端中配置ribbonServerList服务端列表 ...

  10. Windows核心编程&错误处理

    知识概要 (1) MAKELANGID Windows宏,用一个来主语言标识和从语言标识创建一个语言标识符 MAKELANGID(ushort usPrimaryLanguage, ushort us ...