下载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. wepy 开发小程序, 为什么设置pages路径的时候总是找不到 js 文件?

    1,路径先检查仔细了 2,别说话,重新run 3,可能是版本问题,重新搭工程

  2. swagger 的使用

    最近在用 .Net Core 做项目 了解到swagger 是一个不错的工具 简单介绍一下 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧 ...

  3. 5.1 Request 获取请求数据的几种方法

    //获取请求头和请求数据 //请求数据(1.通过超链接 2.通过表单) //获取请求数据的时候一般来说 都要先检查 再使用 public class RequestDemo2 extends Http ...

  4. Django_02_创建模型

    一:ORM简介 ORM,全拼Object-Relation Mapping,中文意为对象-关系映射,是随着面向对象的软件开发方法发展而产生的. 面向对象的开发方法是当今企业级应用开发环境中的主流开发方 ...

  5. Elasticsearch下载安装

    本文链接:https://blog.csdn.net/yjclsx/article/details/81302041注:Elasticsearch 需要 Java 8 环境,在安装Elasticsea ...

  6. 用代理服务加快brew下载速度。方法:curl

    加快brew更新速度的方式:用代理 参考: https://www.zhihu.com/question/31360766常用的ss客户端都自带PAC模式的,比如ShadowsocksX-NG. 再次 ...

  7. 调用WebService接口返回字符串

    Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddr ...

  8. SDL 小例子

    以下利用SDL播放网络流,需要自己配置运行环境,包括SDL和FFmpeg // ConsoleApplication2.cpp : 定义控制台应用程序的入口点. // /* #include &quo ...

  9. 错误调试以及debug的使用

    /*定义 .search 搜索*/ $.fn.UiSearch=function(){ var ui=$(this); //任何地方都可以使用断点调试:debugger; //调试时,可以在控制台输入 ...

  10. EasyLogging++学习笔记(1)—— 简要介绍

    对于有开发经验的程序员来说,记录程序执行日志是一件必不可少的事情.通过查看和分析日志信息,不仅可以有效地帮助我们调试程序,而且当程序正式发布运行之后,更是可以帮助我们快速.准确地定位问题.在现在这个开 ...