zoukankan      html  css  js  c++  java
  • MAC-下安装php-redis扩展

    下载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-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 # 将系统置于开发模式
     
     
  • 相关阅读:
    C++引用之引用的使用
    C++引用之声明方法
    C++const与指针
    C++默认参数值函数
    LeanCloud 调研报告
    [译] 为何流处理中局部状态是必要的
    Z-Stack
    Think twice before starting the adventure
    Multi-pattern string match using Aho-Corasick
    C pointer again …
  • 原文地址:https://www.cnblogs.com/nyfz/p/9356654.html
Copyright © 2011-2022 走看看