专栏首页青玉伏案macOS Sierra安装Apache2.4+PHP7.0+MySQL5.7.16

macOS Sierra安装Apache2.4+PHP7.0+MySQL5.7.16

Mac系统上虽然自带PHP和Apache,但是有时不是我们想要的版本呢。今天我们就在macOS Sierra(10.12.1)上安装比较新的版本的PHP版本,也就是PHP7.0+了。本篇博客我们安装的Apache是2.4的版本, MySQL5.7.16。稍后会详细介绍这一过程。 

一、安装前的准备

1.安装或更新Homebrew

Homebrew就不做过多赘述了,也不是在博客中第一次提到了,是Mac上不可或缺的包包管理器。下方截图中是我本地使用的brew的版本信息,当然是目前最新的版本。在安装上述相关内容之前,要确保你的brew是最新版本。关于Mac下Homebrew的安装在此就不做过多赘述了,请自行Google。

下方首先进行了brew update的更新操作,提示我当前的brew是最新的版本。我们可以通过brew -v来查看当前的brew版本。如果你对brew使用的不熟的话,可以使用brew -h来查看brew的相关命令操作。具体如下所示:

2.Xcode8.2

确保你的Xcode是最新版本,如果你的Xcode是8.2之前的版本的话,在你编译PHP7.0+的时候会提示你“更新Xcode”版本,下方就是在Xcode8.1下编译PHP7.0时报的错误。

所以,要保证你的Xcode是当前最新的版本,下方就是我更新后的Xcode8.2版本。

二、Apache2.4的安装

当然,使用brew安装Apache2.4是比较简单的。下方就是安装Apache2.4的命令。先使用brew的tap命令来创建Apache的仓库,然后使用install命令来安装Apache。此处要安装的是Apache2.4,所以是brew install httpd24。如果你要安装Apache2.2,那么就是brew install httpd22。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; background-color: rgba(0, 0, 0, 0.9) } span.s1 { }

brew tap homebrew/apache brew install httpd24

具体过程如下所示:

成功安装完毕后,你可以使用brew info httpd24来查看你安装的Apache2.4的具体信息。其中会有启动Apache服务的相应命令。下方就是使用brew操作Apache服务器的相应操作。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; background-color: rgba(0, 0, 0, 0.9) } span.s1 { }

启动Apache:brew services start homebrew/apache/httpd24 重启Apache:brew services restart homebrew/apache/httpd24 关闭Apache:brew services stop homebrew/apache/httpd24

下方截图中是具体的Apache的信息:

稍后安装完PHP7.0后,我们会对Apache进行统一配置,不过我们可以先将Apache的服务进行启动,先使用其默认配置。下方就是启动后对我们Apache服务的访问。当然默认是8080端口,所以你需要访问的地址为:localhost:8080,访问该地址你会看到下方的信息。在浏览器中可以访问到下方的页面,说明你的Apache已经成功安装了。

三、MySQL的安装

MySQL的安装也是比较简单的,之前我们在介绍Swift的Perfect服务端框架的时候用到过,也就是说我本地之前已经通过brew安装过了MySQL数据库了。当然如果你没有安装,那么使用brew安装MySQL也是比较简单的。下方就是安装mysql的命令,你需要等上一会儿,你的MySQL就安装好了。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; background-color: rgba(0, 0, 0, 0.9) } span.s1 { }

brew install mysql

按照之前的套路,安装好MySQL数据库后,你可以使用brew info mysql命令来查看相应的mysql的信息。下方就是我本地mysql相应的信息。从info中可以清楚的看到,在你初次安装MySQL之后,会有一个没有密码的root供你登录MySQL数据库,登录后你可以为root用户设置一个密码。

从上面的信息中,我们还可以看到启动mysql服务器的命令。当然,我们依然使用brew来启动和关闭MySQL服务,如下所示:

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; background-color: rgba(0, 0, 0, 0.9) } span.s1 { }

启动:brew services start mysql 重启:brew services restart mysql 停止:brew services stop mysql

具体操作如下所示:

在之前的博客中也提到过,对MySQL的可视化管理,在Mac上的Sequel Pro还是比较好用的,如下所示:

四、PHP7.0的安装

接下来,我们要使用brew来安装PHP7.0了。在这个过程中遇到些问题,首先是Xcode版本的问题,我之前没有升级最新的Xcode8.2,然后安装PHP7.0时报错,后来就升级了一下Xcode。然后又遇到了其他问题,稍后会介绍到。

1、查看PHP7.0信息

在使用Brew安装PHP7.0之前,我们最好先看一下相应的安装信息,因为使用brew安装PHP时也是有些可选项的,如果有些可选项你没有添加,那么有可能在Apache中就无法使用,所以在安装之前看一下PHP的相关信息还是比较好的。

下方就是使用brew info php70, 查看的相应信息,当然你也可以安装PHP7.1。下方给出了冲突的PHP版本。并且给出了相应的依赖包。当然我们还没有安装PHP7.0所以大部分是打的X号。下方有些可选项,需要在安装PHP7.0的使用使用。从下方我们可以清楚的看到,如果你要在Apache2.4上使用该PHP版本,那么得加上--with-httpd24这个参数。这个参数是不可或缺的,如果你没有添加,那么你安装的PHP将不能在相应的Apache上进行使用,如下所示。

2.创建PHP仓库和安装PHP7.0

下方就是PHP7.0安装的命令。--with-httpd24必须得添加上,不然不能在Apache2.4上进行使用。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; background-color: rgba(0, 0, 0, 0.9) } span.s1 { }

brew tap homebrew/php brew install php70 --with-httpd24

下方是我在安装PHP7.0时遇到的一个错误,直接使用brew install php70就可以安装成功,而添加上--with-http24就会报下方的错误。在下方的错误提示中,给出了解决问题的相应连接“ https://github.com/Homebrew/homebrew-php/issues/3736”。在此github连接中找到了相应的解决方案,在终端执行xcode-select --install后,再reinstall就OK了。

3.查看安装后的PHP相关信息

下方就是安装好的PHP70的相关信息,当然,有些还是打叉的,如果需要,我们可以在后期进行添加。

在Info中有好多关键信息,下方这段就是PHP70在Apache中的配置,我们需要在Apache中的httpd.conf文件中,将下方的配置项加入进去即可,稍后会详细介绍。

五、Apache配置

接下来我们就要配置我们的Apache服务器了,当然,主要还是Apache2.4与PHP7.0的关联。上面也提到了,本篇博客我们主要对httpd.conf文件的配置。首先打开/usr/local/etc/apache2/2.4/httpd.conf文件,也就是Apache2.4的相关配置文件。

首先我们将相应的PHP版本配置进去,也就是PHP,Info中的那些配置信息粘贴到httpd.conf中。如下所示:

然后配置服务器的文档根目录,如下所示:

如果需要的话,添加上index.php索引文件,如下所示:

重启完Apache服务后,我们就可以对其进行测试了,在wwwdoc中添info.php方法,在文件中使用phpinfo()函数打印出相应的php信息。如下所示。

接下来我们就可以在浏览器中访问这个info.php文件了,如下所示:

至此,本篇博客的内容就结束了,接下来就是在Mac下好好玩玩儿PHP了。好像有人戏说PHP是(拍 H 片)的简称,子曰:此乃神人也。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS逆向工程之Theos

    如果你对iOS逆向工程有所了解,那么你对Tweak并不陌生。那么由Tweak我们又会引出Theos, 那么什么是Theos呢,简单一句话,Theos是一个越狱开...

    lizelu
  • PHP关于web页面交互内容

    1. 学php学了有一段时间了总结总结给大家分享一下 2. PHP中的引用 第一段程序: <?php $first_name="fir...

    lizelu
  • iOS逆向工程之Hopper中的ARM指令

    虽然前段时间ARM被日本软银收购了,但是科技是无国界的,所以呢ARM相关知识该学的学。现在看ARM指令集还是倍感亲切的,毕竟大学里开了ARM这门课,并且做了不少...

    lizelu
  • springMvc4+hibernate4的一个奇葩的网上众说纷纭的错误

    springMvc4+hibernate4项目运行报错如下: org.hibernate.HibernateException: Could not obtai...

    小柒2012
  • linux网络参数解析

    linux网络参数主要位于下面两个目录下:/proc/sys/net/core/和/proc/sys/net/ipv4/, 下面分别对这两个目录下常用的几个网络...

    王亚昌
  • 回调、使用Promise封装ajax()、Promise入门

    Callback 很常见 $button.on('click', function(){}) click后面的 function 就是一个回调,因为「我」没有调...

    代码之风
  • Jetson TX1开发笔记(六):V4L2+OpenCV3.1以MJPG格式读取USB摄像头图像并实时显示

    嵌入式平台(Target): Jeston TX1 OpenCV: OpenCV3.1 摄像头: USB 800W摄像头 1 前言     博主手中的...

    Jack_Cui
  • 谈谈大学

    一个月前我答应一位读者写篇关于大学的文章,还留言说「一个月内如果没写,请提醒我」,后来一出差,我把这事完全抛诸脑后,期满后人家把截图发过来善意提醒,我一看,慌了...

    tyrchen
  • Django进阶之CSRF

     简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而...

    coders
  • iOS开发·RunLoop源码与用法完全解析(输入源,定时源,观察者,线程间通信,端口间通信,NSPort,NSMessagePort,NSMachPort,NSPortMessage)

    OSX / iOS 系统中,提供了两个这样的对象:NSRunLoop 和 CFRunLoopRef。

    陈满iOS

扫码关注云+社区

领取腾讯云代金券