第1部分:macOS 10.14 Mojave Web开发环境

在macOS上开发Web应用程序真是一种乐趣。设置开发环境有很多选择,包括广受欢迎的MAMP Pro,它在Apache,PHP和MySQL之上提供了一个很好的UI 。但是,有时候MAMP Pro会出现速度减慢或过时的版本,或者由于配置模板和非标准版本的限制性系统而导致行为不佳。

在这些时候,人们经常寻找替代方法,幸运的是有一种方法,并且设置相对简单。

在这篇博文中,我们将引导您完成Apache 2.4和多个PHP版本的设置和配置。在这篇两篇文章系列的第二篇博文中,我们将介绍MySQL,Apache虚拟主机,APC缓存和Xdebug安装。

[更新时间01/10/2019]更新为从外部弃用桶添加PHP 5.6和PHP 7.0 
[已更新12/12/2018]已更新,以反映最新版本的PHP 7.3以及从Brew中删除PHP 7.0。

如果您过去一直遵循本指南 Homebrew/php点击,并希望升级到新的Homebrew/core方法,然后您应该首先按照我们新的升级自制程序清理您当前的安装。

本指南适用于有经验的Web开发人员。如果您是初学者,可以使用MAMP或MAMP Pro更好地服务。

XCode命令行工具

如果您还没有安装XCode,最好先安装命令行工具,因为这些工具将由homebrew使用:

$ xcode-select --install

自制安装

这个过程在很大程度上依赖于名为Homebrew的macOS包管理器。使用brew命令您可以轻松地为您的mac添加强大的功能,但首先我们必须安装它。这是一个简单的过程,但您需要启动终端(/Applications/Utilities/Terminal)申请然后输入:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

只需按照终端提示操作,然后根据需要输入密码。这可能需要几分钟,但完成后,可以快速确保已安装brew 正确的,只需输入:

$ brew --version
Homebrew 1.7.6
Homebrew/homebrew-core (git revision a1ed; last commit 2018-09-25)

您可能还应运行以下命令以确保正确配置所有内容:

$ brew doctor

如果您需要更正任何内容,它会指示您。

Mojave必需的库

在Mojave上安装新鲜时,我遇到了一些在完成以下所有步骤时丢失的库。为了简化操作,请立即运行:

$ brew install openldap libiconv

Apache安装

最新的macOS 10.14 Mojave预装了Apache 2.4,但是,将此版本与Homebrew一起使用不再是一项简单的任务,因为Apple在此版本中删除了一些必需的脚本。但是,解决方案是通过Homebrew安装Apache 2.4,然后将其配置为在标准端口(80/443)上运行。

如果您已经运行了内置Apache,则需要先关闭它,并删除所有自动加载脚本。按顺序运行所有这些命令真的没有坏处 - 即使它是全新的安装:

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

现在我们需要安装Brew提供的新版本:

$ brew install httpd

如果没有选项,httpd将不需要从源代码构建,因此安装速度非常快。完成后,您应该看到如下消息:

												

macOS 10.14 Mojave 开发环境配置Apache多PHP版本的更多相关文章

  1. macOS 10.14 Mojave Apache设置:多个PHP版本

    [18/6/2018更新]由于Homebrew/php点击在2018年3月底被弃用,并将所有PHP公式移动到Homebrew/core,我们已经重新设计了我们的指南,使用这个新的水龙头. 如果您过去一 ...

  2. macOS 10.14 Mojave Apache Setup: Multiple PHP Versions

    Part 1: macOS 10.14 Mojave Web Development Environment Developing web applications on macOS is a rea ...

  3. 最新最全最详细的MacOS 10.14 Mojave黑苹果安装教程

    图文教程知乎地址:点击打开链接 视频教程B站地址:点击打开链接 微信公众号 地 址:点击打开链接 准备工作(工具包及镜像在后边) 一个8G以上的U盘(有的U盘标的是8G,实际只有7.X,实际容量小于7 ...

  4. 【从零学习Python】Ubuntu14.10下Python开发环境配置

    1. 前言 近期在研究计算机视觉的一些算法,也刚開始接触linux,试着在ubuntu下用qt+openCV进行开发,感觉还行.可是Python作为在学术领域广为应用的高级解释性语言.其在计算机视觉的 ...

  5. arcgis android 10.2.5开发环境配置

    android里要添加arcgis android 的支持,其实本质是添加了jar包,so库,清单文件里申请了权限而已. 插件是为了方便创建arcgis android工程,然后并没有什么卵用. ar ...

  6. Android Studio开发环境配置以及相关说明

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下在开发的时候使用的Android Studio开发环境版本以及相关注意事项. 一般来讲,每隔一段时间就要检查下Andr ...

  7. 在64位的ubuntu 14.04 上开展32位Qt 程序开发环境配置(pro文件中增加 QMAKE_CXXFLAGS += -m32 命令)

    为了能中一个系统上开发64或32位C++程序,费了些周折,现在终于能够开始干过了.在此记录此时针对Q5.4版本的32位开发环境配置过程. 1. 下载Qt 5.4 的32位版本,进行安装,安装过程中会发 ...

  8. windows eclipse直接访问远程linux hadoop开发环境配置(符合实际开发的做法)

    CDH 5.x搭建请参考CentOS 7离线安装CDH 5.16.1完全指南(含各种错误处理). 如果使用的是cloudera quickstart vm,则只能在linux服务器中使用eclipse ...

  9. 基于Eclipse的Hadoop应用开发环境配置

    基于Eclipse的Hadoop应用开发环境配置 我的开发环境: 操作系统ubuntu11.10 单机模式 Hadoop版本:hadoop-0.20.1 Eclipse版本:eclipse-java- ...

随机推荐

  1. 「BZOJ3226」[Sdoi2008]校门外的区间

    题目 首先是开闭区间的处理,我们把\(1.5\)这种数加进来,用\([1.5,6]\)来表示\((2,6]\) 根据离散数学的基本知识,尝试把五个操作转化成人话 把\([x,y]\)变成\(1\) 把 ...

  2. (转)进程process和线程thread的关系

    写的很好很明白cpu每次只能执行一个进程,所以其他进程会挂起 在一个进程中,允许存在n个线程,n个线程共享这个进程中的资源 多个线程在共享的时候存在资源互斥,一次只能一个线程,会需要加锁 一次存在固定 ...

  3. [LuoguP1053][Noip2005]篝火晚会

    [LuoguP1053][Noip2005]篝火晚会(Link) 现在你有一个排成一个圈的\(N\)大小的队列,一开始的顺序是\(\{1,2,3,4...N\}\),一共有\(N\)个要求,第\(i\ ...

  4. Jenkins+Ant+Jmeter接口自动化集成测试实例

    Jenkins+Ant+Jmeter接口自动化集成测试实例 一.Jenkins安装配置 1.安装配置JDK1.6+环境变量: 2.下载jenkins.war,放入C:\jenkins目录下,目录位置随 ...

  5. CentOS7.2安装RabbitMQ笔记

    身为.NET程序员,用着宇宙级IDE,干什么事都变得越来越懒了,Windows操作系统在手,能通过桌面点点点的方式何必找其他罪受呢..于是RabbitMQ自然而然也就跑在Windows上了,说实话Wi ...

  6. php版本低更换php版本-问题以解决

    Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable ...

  7. vue中渲染页面,动态设置颜色

    for循环中动态设置页面的图标或者字体颜色与循环中且套循环 :style="{'color':items.color}" 案例代码: html中 <div class=&qu ...

  8. jquery里遍历普通数组和多维数组的方法及实例

    jquery里遍历数组用的是$.each,下面站长给大家几个具体的实例: 实例1.遍历一个普通的一维数组: 1 2 3 4 5 6 7 8 <script> //声明数据有下面两种方式 / ...

  9. iOS日历显示农历信息

    第一次接触到日历的开发,表示需要学习的东西还有很多呢! 关于日历的开发,如果不进行相关设置的话,默认是没有农历的,需要我们进行设置. 核心Demo如下: monthArr = [NSArray arr ...

  10. 大数据学习--day12(内部类)

    内部类学习     定义在类的内部的类  叫做内部类     包含了内部类的类 叫做外部类 内部类的作用      内部类是为了 实现 java中 多继承而存在的      内部类 可以继承其他类   ...