mamp上安装php拓展redis

在mamp上php7.0.x和php5.6.x安装拓展redis

因为mamp集成环境为了减少空间,把原先编译的.h文件都删除了,所以在mamp上的php不能编译。

1.在php5.6.x上安装拓展redis(php7.0.x相同)

参考文章1:php5.6.10安装redis

参考文章2:Cannot find autoconf错误解决

参考文章3:Mac下如何安装配置Homebrew

  1. 下载PHP 文件

    因为你是安装php5.6.x所以选择5.6.x版本就好了

  2. 在MAMP/bin/php/php5.6.10/新建一个include路径为:MAMP/bin/php/php5.6.10/include

  3. 把下载的php5.6.x的包改名成php放进去include中
    路径:MAMP/bin/php/php5.6.10/include/php

  4. 使用终端,用mac都用Alfred,按command+space,
    输入终端,然后输入sudo -i,输入密码进行root权限。

  5. 在终端输入

    cd MAMP/Applications/bin/php5.6.10/include/php
    

    ./configure. (这需要注意,这个问题我查找了两天) //产生编译文件

    可能产生错误,PHP Configure Error: Please specify the install prefix of iconv with –with-iconv=

    可以参考stackoverflow,我是把./configure换成./configure --without-iconv

    完美解决

  6. 下载phpredis文件

    如果是php7.0.x就选择分支上的phpresia
    下载完成解压,用终端进入cd phpredis
    名字可能不相同,解压成的文件名为准

    分别然后输入:

    /Applications/mamp/bin/php/php7.0.8/bin/phpize

    ./configure --with-php-config=/Applications/MAMP/bin/php/php5.6.10/bin/php-config

  7. 没有错误就输入以下

    make编译文件

    make test

  8. 将编译成功后的redis.so放进mamp上进行redis的拓展

    sudo cp -p modules/redis.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/

  9. 最后一步修改对应版本配置文件


    在php.ini最后写条语句 extension=redis.so

  10. 测试 新建一个php文件加一句phpinfo()

3.mac安装redis数据库

  1. 下载redis

  2. 解压,然后打开终端

  3. 在终端中找到你下载的redis

  4. mv redis /usr/local/redis

  5. cd redis

    sudo make

    sudo make test

    sudo make install

    mv redis.conf /etc/redis.conf

  6. 启动redis /usr/local/bin/redis-server

  7. 开启后终端就不能关闭,只能打开另外一个终端

  8. redis-cli启用客户端

  9. redis-cli shutdown退出客户端

  10. 在进程中停止服务
    Redis: Failed opening .rdb for saving: Permission denied
    redis

    服务器会生成dump.rdb文件存储缓存,如果文件权限不够则无法读写该文件cd /usr/loal/bin在/usr/local/bin/(默认文件目录)下执行命令chmod 777 dump.rdb

发表评论

电子邮件地址不会被公开。 必填项已用*标注