下载php-redis,地址:https://nodeload.github.com/nicolasff/phpredis/zip/master

下载完成得到phpredis-master.zip

移动到/usr/local/目录中

sudo cp phpredis-master /usr/local/

进入/usr/local/目录

cd /usr/local

解压phpredis-master.zip

tar -zxvf phpredis-master.zip

得到phpredis-master文件夹,将文件夹改名为phpredis

sudo mv phpredis-master phpredis

进入phpredis文件夹

cd phpredis

执行phpize

sudo phpize

若未安装autoconf,则会报错

Cannot find autoconf.

需要先安装autoconf

brew install autoconf

若未安装brew,则另外百度安装brew的方法

安装完autoconf之后,再执行phpize,接着执行下面的代码

./configure --with-php-config=/usr/bin/php-config

执行make

sudo make

执行make install

sudo make install

由于OS 10点几开始本身关闭了对lib文件夹的操作权限,所以这句话会报错,自行百度mac获取bin权限的方法,然后将lib下的php文件夹赋予权限 
再执行make install成功

然后打开php的配置文件,默认在/etc/php.ini,增加下列代码

extension=redis.so

重启apahce后

php -m|grep redis

查看phpredis扩展是否开启。

macOS 10.14软件编译时找不到头文件的解决方法

 发表于 2018-09-26 |  分类于 macOS, 软件安装

昨天(也就是2018-09-25)新版本的macOS Mojave 10.14正式开放下载,我如此时尚,自然是要第一时间下载安装的(这句话好熟悉的样子)。

今天开发时发现有些PHP扩展无法使用,提示版本不兼容需要重新编译。

这个自然是难不倒我的,于是:下载扩展源码包、解压后进入文件夹、执行phpize报错了。。。。

1
2
3
4
5
6
7
8
$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:

缺少PHP的header头文件,再一看/usr/include文件夹根本不存在,想必是Xcode command line tools没有安装完全(我macOS 10.13版本装过的)?熟练的敲出如下命令:

1
2
$ xcode-select --install
xcode-select: note: install requested for command line developer tools

静等了一会安装完成,一看/usr/include文件夹还是不存在,难道升级系统后System Integrity Protection自动打开导致文件写不进?接着执行:

1
2
$ csrutil status
System Integrity Protection status: disabled.

SIP处于禁用状态,没有问题。

再安装一遍Xcode command line tools试试:

1
2
$ xcode-select --install
xcode-select: error: command line tools are already installed...

不给装了,这可如何是好。。

于是各种吃力爬英文网站,最后终于让我找到了,只需执行下列命令安装header头文件SDK即可:

1
2
$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg

安装完成再一看/usr/include文件夹和里面的都文件都回来了。

接下里一切都简单多了,再次(编译过PHP扩展的一看就懂):

1
2
3
4
$ phpize
$ ./configure
$ make
$ sudo make install

以上就是解决问题的大概过程,然后一一顺利解决掉所有不兼容的PHP扩展,很开心。

顺便记录一下如何将自己的mac变成一台开发机器:

1
2
3
4
5
# csrutil disable   # 需要在恢复模式下运行命令,具体请自行搜索。
$ xcode-select --install # 安装常用开发工具,如:git等。
$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg
$ sudo DevToolsSecurity -enable # 将系统置于开发模式
 
 

MAC-下安装php-redis扩展的更多相关文章

  1. mac下安装php zookeeper扩展

    安装步骤 php-zookeeper依赖libzookeeper,所以需要先安装libzookeeper 安装libzookeeper cd /usr/local/src/ wget http://m ...

  2. 在windows下安装php redis扩展

    我在本地是phpstudy集成环境,但是没有redis扩展,需要自己安装 1.先看清楚自己的php配置,在安装对应的 php_redis.dll 和 php_igbinary.dll php_redi ...

  3. Mac 下安装Jenkins

    Mac 下安装Jenkins 开始 Jenkins是一个基于Java开发的一种持续集成工具,用于建工持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作. 近期打算搭建自动 ...

  4. Mac下安装HBase及详解

    Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...

  5. mac 下安装mongodb

    转载自https://segmentfault.com/a/1190000002547229 概念 MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoD ...

  6. MAC下安装与配置MySQL

    MAC下安装与配置MySQL   MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...

  7. Mac下安装UPnP Inspector

    由于工作中需要用到UPnP Inspector这个工具,而这个工具在windows下安装非常简单,在Mac下安装却很麻烦,在此记录安装流程. 这个工具依赖于两个其他的库:Coherence(一个DLN ...

  8. Mac下安装Wireshark,双击闪退

     Mac OS X上使用Wireshark抓包(http://blog.csdn.net/phunxm/article/details/38590561) Mac下安装Wireshark /Appli ...

  9. Mac下安装zshell

    Mac 下安装zshell 什么是shell 大多数命令行用户接触最多的是Bash,因为Bash是各个版本操作系统(Linux&Mac)的默认shell. 查看当前使用的shell $ ech ...

  10. 【高可用HA】Apache (1) —— Mac下安装Apache Httpd到自定义路径(非/etc/apache2)

    Mac下安装Apache Httpd httpd版本: httpd-2.4.17 参考来源: Tomcat Clustering - A Step By Step Guide Apache HTTP ...

随机推荐

  1. Oracle 如何查看当前的实例及切换实例

    一.Oracle查看当前实例 1.打开终端,输入命令sqlpuls / as sysdba连接到数据库 2.输入命令show parameter name便可以查看当前登录数据库的参数配置,如下可以看 ...

  2. C++ STL 之 set 和 pair

    set/multiset 的特性是所有元素会根据元素的值自动进行排序.set 是以 RB-tree(红黑树,平衡二叉树的一种)为底层机制,其查找效率非常好.set 容器中不允许重复元 素,multis ...

  3. 分布式全局ID的几种生成方案

    前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等. 那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是 ...

  4. 【Mac】 开启原生的 NTFS 硬盘格式支持

    一.MacOS 10.13 之前 二.MacOS 10.13 及之后 一.MacOS 10.13 之前 直接跳到引用地址查看,下面的草记只是为了防止链接丢失 引用地址 打开终端 切换至root身份,输 ...

  5. 制作docker 离线仓库

    目录 制作docker 离线仓库 1.前言 2.步骤 安装docker-distribution 编辑docker-distribution服务的配置,使用yaml进行的配置 启动仓库服务 编辑doc ...

  6. EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用

    做作业工程中遇到一些问题,特此记录一下 解决的问题:使用EasyUI框架搭建简单学生管理系统(数据库增删改查)操作时配合JSP,不知道如何把从数据库获得的数据封装成JSON格式并传回前端JSP并进行展 ...

  7. jenkins 持续集成笔记1 --- 安装配置

    jenkins 安装 先安装Tomcat,然后下载jenkins war包,启动Tomcat即可 wget https://mirrors.huaweicloud.com/apache/tomcat/ ...

  8. 嵌入式Linux应用开发完全手册读书笔记——交叉编译工具选项说明

    交叉编译工具选项说明 arm-linux-gcc 一个c/c++文件要变成可执行文件需要4步:预处理 -> 编译 -> 汇编 -> 链接: 在使用arm-linux-gcc时的常用选 ...

  9. 修改office2019安装位置,自定义安装需要的功能

    更新:2019.5.30楼主本人本次重装系统后装office2019再次测试,没有任何问题,没认真看文章,自己胡乱一同操作,导致各种问题的,出了错就就瞎评论,说博主误导人,对你们这种人就是呵呵.左转不 ...

  10. 用命令行的方式把jmeter结果文件JTL生成csv格式的聚合报告

    我们知道 利用jmeter 的GUI的 Aggragate Listner 很容易把一个JTL 文件另存为CSV 文件,该CSV 文件中自动分析了 Transactions 的 90%, Median ...