上接:在macOS Sierra 10.12搭建PHP开发环境

设置 brew

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php

安装 PHP 7.1

brew install php71

优先使用 PHP 7.1

export PATH="/usr/local/sbin:$PATH"
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

启动 PHP-FPM

sudo nginx
sudo php-fpm --fpm-config /usr/local/etc/php/7.1/php-fpm.conf -D
mysql.server start

这三个命令其实是分别启动nginx、php和mysql,你可以将其封装成一个bash命令,然后就可以一个命令启动所有Web服务。

安装扩展

扩展有两种安装方式:

  • brew 安装
  • 源码包安装 推荐

以 PHP-Redis 扩展 phpredis 为例:

brew 安装

brew install php71-redis

源码包安装

wget https://pecl.php.net/get/redis-3.1.0.tgz
tar zxvf redis-3.1.0.tgz
cd redis-3.1.0
/usr/local/Cellar/php71/7.1.0_11/bin/phpize # !!!注意!!! 7.1.0_11这个小版本目录可能需要你手动改成你下载的对应的最新版本号。 ./configure
make
make install
vi /usr/local/etc/php/7.1/php.ini # 追加 extension=redis.so
# 重启 php-fpm
sudo killall -9 php-fpm
sudo php-fpm --fpm-config /usr/local/etc/php/7.1/php-fpm.conf -D

参考

将 MacOS 默认的 PHP 版本升级到 7.*的更多相关文章

  1. MacOS安装phpMyAdmin几点问题

    1. 登录时出现“#2002 无法登录 MySQL 服务器”. 原因: phpMyAdmin为PHP编写,MacOS默认安装的php配置,设置mysql监听socket默认为/var/mysql/my ...

  2. macOS 开启 VNC 远程桌面和 SSH 服务

    macOS 开启 VNC 远程桌面和 SSH 服务 准备用 macOS 来做为服务器,既然是服务器,那不可缺少的是远程管理,实际上 macOS 自带 VNC 远程桌面和 SSH 服务,只是默认没有开启 ...

  3. MacOS下,Python2和Python3完美兼容使用(转)

    问题阐述: MacOS默认Python版本是2.7.10,随着Python3的进一步占有市场,Python2.7也将在2020年结束维护,所以在同一台电脑上安装多个Python版本势在必行. 一.py ...

  4. macOS(Sierra 10.12)上Android源码(AOSP)的下载、编译与导入到Android Studio

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  5. mac搭建PHP开发环境

    在Mac系统上搭建Php服务器环境: LAMP: Linux Apache MySQL PHP MAMP: MACOS APACHE(自带) MYSQL(需自己安装) PHP(自带) 一.APACHE ...

  6. iOS - Mac 常用设置

    1.Finder 中显示资源库 方法一: 在 "终端" 中输入下面的命令: 显示: $ chflags nohidden ~/Library/ 隐藏: $ chflags hidd ...

  7. day5-python的文件操作-坚持就好

    目录摘要 文件处理 1.文件初识 2.文件的读操作 3.文件的写操作 4.文件的追加操作 5.文件的其他操作 6.文件的修改 正式开始 文件处理:写了这么多代码了,有的时候我们执行完成的结果想永久保存 ...

  8. mac 无法写入设备的最后一个块 格式化

    硬盘,U盘,装在硬盘盒通过USB连接到电脑.但是无法格式化硬盘 失败的页面显示: 正在卸载磁盘 无法写入设备的最后一个块 操作失败 建议您这样做: 1.切换进Windows系统,或者找一台安装有Win ...

  9. lower_case_table_names和数据库在Linux和windows平台之间的相互迁移问题

    MySQL关于 lower_case_table_names 的文档 https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivi ...

随机推荐

  1. Handling Class Imbalance with R and Caret - An Introduction

    When faced with classification tasks in the real world, it can be challenging to deal with an outcom ...

  2. js继承之借用构造函数继承

    我的上一篇文章介绍了,原型链继承模式.但是单纯的原型链模式并不能很好地实现继承. 一.原型链的缺点 1.1 单纯的原型链继承最大的一个缺点,来自于原型中包含引用类型的值. 本来,我们没有通过原型链实现 ...

  3. Fisher Vector Encoding and Gaussian Mixture Model

    一.背景知识 1. Discriminant  Learning Algorithms(判别式方法) and Generative Learning Algorithms(生成式方法) 现在常见的模式 ...

  4. spring异常处理器

    一.本篇文章旨在讨论异常处理器: 1.因为异常处理器在实战中通常用来处理开发人员自定义的运行时异常,所以如果要了解如何自定义运行时异常,请自行搜索相关资料. 2.本文的demo用IndexOutOfB ...

  5. 设计模式二:MVC

    先附上部分代码: /* *MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. *Model(模型) - 模型代表一个存取数据的对 ...

  6. \classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)

    开发项目重启eclipse 发现了如下错误! 解决方法 选择出现错误的项目 点击clean 即可~

  7. Android应用安全学习笔记前言

    Android是基于Linux kernel的一个自由及开放源代码的操作系统,主要用于移动设备.在2011年第一季度超越了塞班系统跃居了全球第一.本系列作为分享的东西吧.比较基础. 文章也不知道会分为 ...

  8. jquery不兼容input的change事件处理

    因为客户使用系统一般都是用IE版本的浏览器,所以每次在chrome下调试之后都要在IE走一遍; 这次准备在选择开始时间或者结束时间之后在下方能及时给出对应的天数,但是在IE8下试了change时间根本 ...

  9. 利用document的readyState去实现页面加载中的效果

    打开新的网页时,为了增强友好性体验,告知用户网页正在加载数据需要呈现一个"页面加载中"之类的提示,只需要利用document就可以实现. 实现示例代码如下: <style&g ...

  10. WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)

    我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的. 现在,感觉和事实是完全不同的两个东西.当你看到三层架构的框图的时候,你会觉得每层的职责被分配的很好.但是当你你真的去写代码的 ...