macOS 10.15 Catalina Apache设置:多个PHP版本
第1部分:macOS 10.15 Catalina Web开发环境
在macOS上开发Web应用程序真是令人高兴。有许多设置开发环境的选项,包括广受欢迎的MAMP Pro,它在Apache,PHP和MySQL之上提供了一个不错的UI 。但是,有时MAMP Pro的速度变慢或版本过旧,或者由于配置模板和非标准构建的限制性系统而表现不佳。
在这样的时代,人们经常寻找一种替代方法,幸运的是有一种替代方法,并且设置起来相对简单。
在此博客文章中,我们将引导您完成设置和配置Apache 2.4和多个PHP版本的过程。在这个两篇文章系列的第二篇博客文章中,我们将介绍MySQL,Apache虚拟主机,APC缓存和Xdebug安装。
[ 2019年10月8日更新]已更新以反映macOS 10.15 Catalina的发布[2019年1月10日
更新]已更新以从外部小桶添加回PHP 5.6和PHP 7.0
[2018年12月12日更新]已更新以反映最新版本的PHP 7.3,以及从Brew中删除的PHP 7.0。
如果您过去一直Homebrew/php轻按本指南,并希望升级到新Homebrew/core方法,则应该首先按照我们的新升级Homebrew清理当前安装。
本指南适用于经验丰富的Web开发人员。如果您是新手开发人员,则使用MAMP或MAMP Pro会更好。
XCode命令行工具
如果尚未安装XCode,则最好先安装命令行工具,因为这些将由自制软件使用:
$ xcode-select --install
自制安装
此过程在很大程度上依赖于名为Homebrew的macOS软件包管理器。使用该brew命令可以轻松地向Mac添加强大的功能,但是首先我们必须安装它。这是一个简单的过程,但是您需要启动Terminal(/Applications/Utilities/Terminal)应用程序,然后输入:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
只需按照终端提示操作,然后在需要的地方输入密码即可。这可能需要几分钟,但是完成后,一种快速的方法来确保已brew正确安装,只需键入:
$ brew --version
Homebrew 2.1.13
Homebrew/homebrew-core (git revision 99f8; last commit 2019-10-08)
您可能还应该运行以下命令,以确保所有配置均正确:
$ brew doctor
它会指导您是否需要更正任何内容。
Catalina必需的库
在Catalina上全新安装时,在遇到以下所有步骤时,我遇到了一些缺少的库。为了使事情变得容易,请立即运行以下命令:
$ brew install openldap libiconv
Apache安装
最新的macOS 10.15 Catalina预先安装了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.15 Catalina Apache设置:多个PHP版本的更多相关文章
- macOS 10.15 Catalina xxx.app已损坏,无法打开,你应该将它移到废纸篓解决方法
原文连接:https://www.macwk.com/article/mac-catalina-1015-file-damage 更新macOS 10.15 Catalina后,很多在10.14上可以 ...
- 黑苹果 MacOS 10.15 Catalina安装教程
10.15 Catalina 桌面 一.准备工作 一个8G以上的U盘(有的U盘标的是8G,实际只有7.X,实际容量小于7.5G的会失败) MacOS镜像.TransMac(刻录工具).DiskGeni ...
- macOS 10.14 Mojave Apache设置:多个PHP版本
[18/6/2018更新]由于Homebrew/php点击在2018年3月底被弃用,并将所有PHP公式移动到Homebrew/core,我们已经重新设计了我们的指南,使用这个新的水龙头. 如果您过去一 ...
- npm install 提示 `gyp: No Xcode or CLT version detected!` MacOS 10.15
https://github.com/nodejs/node-gyp/issues/569 https://github.com/nodejs/node-gyp/issues/1927 解决链接:ht ...
- macOS 10.15 开启 HiDPI
普通的显示,接上 MacBook 发现原生的分辨率设置在 2K 显示器上字体很小,换成 1080P 分辨率显示效果又特别模糊.下面介绍MacBook强行开启 HiDPI. 什么是 HiDPI 它使用横 ...
- 神舟zx6-ct5da装黑苹果Macos 10.15.6记录
可能是一时脑子抽风,突然就想体验一把mac系统.以前就了解过,给非苹果电脑装macos叫黑苹果,emmmmm.好吧,给我的神船也整一个. 看了很多个视频,整理一下装黑苹果过程.本人电脑系统是win10 ...
- 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 ...
- MacbookPro升级10.15 Catalina之后无法读写NTFS
冲着Sidecar的双屏功能,乐呵呵的跑去升级了10.15,结果就悲剧了. 所有移动硬盘和U盘都写不了,无奈只好上网找办法,目前找到一个便宜的方法: 共2步: Step 1:编写fstab文件 使用T ...
- 苹果开始推送 macOS Catalina10.15 正式版系统更新
北京时间今天凌晨 1 点,苹果正式推送了 macOS Catalina 10.15 正式版升级.macOS Catalina 10.15 正式版带来了许多重大改变,包括Sidecar.iTunes应用 ...
随机推荐
- 【Unity Shader】---基础光照
一.[标准光照模型]1.自发光emissve:描述一个表面本身会发散多少光.在没有使用全局光照时,这些自发光是不会真正照亮周围物体. 自发光就是直接由发光体发射进入摄像机,不经过任何反射,在标准光照模 ...
- TensorFlow学习笔记7-深度前馈网络(多层感知机)
深度前馈网络(前馈神经网络,多层感知机) 神经网络基本概念 前馈神经网络在模型输出和模型本身之间没有反馈连接;前馈神经网络包含反馈连接时,称为循环神经网络. 前馈神经网络用有向无环图表示. 设三个函数 ...
- mooc-IDEA 快速通过mapper定位到XML
intellij 快速通过mapper定位到XML 方法一:在线安装Mybatis插件 安装完毕,重启IDEA生效! =>Mapper文件效果 点击向下键头即可定位到XML文件中的具体SQL = ...
- Node.js实战8:可用于压缩、加密的zlib。
zlib是nodejs内置的模块,有deflate.inflate函数,使用的是gzip算法,可用于压缩和解压,也可用于数据加密.解密. 如下示例: var zlib = require(" ...
- [Python3] 018 if:我终于从分支中走出来了
目录 0. 谁是主角 1. 从三大结构说起 (1) 顺序 (2) 分支 1) 分支的基本语法 2) 双向分支 3) 多路分支 (3) 循环 0. 谁是主角 分支是主角 我前面几篇随笔提到 if 不下2 ...
- HDU 1069 Monkey and Banana dp 题解
HDU 1069 Monkey and Banana 纵有疾风起 题目大意 一堆科学家研究猩猩的智商,给他M种长方体,每种N个.然后,将一个香蕉挂在屋顶,让猩猩通过 叠长方体来够到香蕉. 现在给你M种 ...
- ARM汇编3
一. 什么是协处理器? 1.1. SoC内部另一处理核心,协助主CPU实现某些功能,被主CPU调用执行一定任务. 1.2. ARM设计上支持多达16个协处理器,但是一般SoC只实现其中的CP15.(c ...
- [常用类]Number & Math 类(转载)
下面的表中列出的是 Number & Math 类常用的一些方法: 序号 方法与描述 1 xxxValue() 将 Number 对象转换为xxx数据类型的值并返回. 2 compareTo( ...
- Djaon 基于 Ajax 的 json 数据传输
关键参数:contentType:"application/json" data:JSON.stringify({ json数据 }) 再views.py中,使用request.d ...
- python学习第四十六天dir( )函数用法
dir( )函数有点像目录的意思,但是他是包含由模块定义的名称的字符串的排序列表.这个列表包含模块中定义的所有模块,变量和函数的名称. 列举其用法 import time content = dir( ...